加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – asp.net mvc并检查用户是否已登录

发布时间:2020-12-16 07:37:43 所属栏目:asp.Net 来源:网络整理
导读:我是asp.net mvc的新手,我需要检查用户是否在我的应用程序中登录,所以我将以下代码放在我的global.asax中 void Application_PreRequestHandlerExecute(object sender,EventArgs e) { HttpApplication application = (HttpApplication)sender; HttpContext co
我是asp.net mvc的新手,我需要检查用户是否在我的应用程序中登录,所以我将以下代码放在我的global.asax中

void Application_PreRequestHandlerExecute(object sender,EventArgs e)
    {
        HttpApplication application = (HttpApplication)sender;
        HttpContext context = application.Context;

        string filePath= context.Request.FilePath;
        string fileExtention = VirtualPathUtility.GetExtension(filePath);

        // to skip request for static content like (.css or .js)
        if (fileExtention == "")
        {                
            if (filePath.ToLower() != "/account/login")
            {
                var user = (Utilisateur)context.Session["USER"];
                if (user == null)
                    context.Response.Redirect(@"~/account/login");
            }                
        } 
    }

我拦截每个传入的请求进行检查我想知道是否有其他方法来完成这种工作
并提前感谢.

解决方法

你需要这样做吗?您应该检查,如果您可以使用asp.net身份验证,授权和成员资格提供程序. (当您创建新的ASP.NET MVC 3应用程序时[当您选中“Internet应用程序”时),它们会自动生成).

然后,您可以对控制器和操作使用注释:(伪代码):
这样只允许授权用户访问控制器(您甚至可以指定允许哪些用户或哪些角色):[授权(角色=“管理员”)]

[Authorize]
controller{.....}

要检查用户是否已登录,已存在具有Identity属性的User属性.
此代码检查用户是否已通过身份验证(已登录):

controller...() {
...
if (User.Identity.IsAuthenticated) ...
...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读