asp.net – 如何使用AspNetSqlMembershipProvider正确验证mvc-mi
发布时间:2020-12-15 23:05:05 所属栏目:asp.Net 来源:网络整理
导读:我试图检查用户是否在Application_BeginRequest和Application_AuthenticateRequest处于此代码中,并且它将无法正常工作.在BeginRequest中,代码永远不会被命中,并且验证它被某些请求打击,并且分析器不显示. 仅检查Request.IsLocal工作正常. if(Request.IsAuthe
我试图检查用户是否在Application_BeginRequest和Application_AuthenticateRequest处于此代码中,并且它将无法正常工作.在BeginRequest中,代码永远不会被命中,并且验证它被某些请求打击,并且分析器不显示.
仅检查Request.IsLocal工作正常. if(Request.IsAuthenticated) { if(User.IsInRole("Admin"); MiniProfiler.Start(); } 任何想法或为什么它不工作或更好的方法呢? [更新]我接受了这个遮阳篷,但是没有弄清楚它,因为我没有做到这一点 我做了以下操作,但是分析器最初没有出现. protected void Application_PostAuthorizeRequest(Object sender,EventArgs e) { if (User.IsInRole("Admin")) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("RoleProfiler"); if (cookie == null) { cookie = new HttpCookie("RoleProfiler"); cookie.Value = "yes"; cookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(cookie); } } } 我正在检查 protected void Application_BeginRequest(Object sender,EventArgs e) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("RoleProfiler"); if ((cookie != null) && (cookie.Value == "yes") ) { MvcMiniProfiler.MiniProfiler.Start(); } } 并在请求结束时结束. protected void Application_EndRequest() { MvcMiniProfiler.MiniProfiler.Stop(); } [Update2]关闭问题,忽略这个,我是由outputcache所有. 解决方法
开始请求发生在用户在请求生命周期中完全验证之前.
我解决了这个问题,如果用户在一个角色(在你的情况下为“Admin”),通过添加一个cookie,当请求被认证,那么你可以在开始请求和初始化分析器时检查这个cookie. 它不会第一次工作,但应该每次之后. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 检测asp.net将用户重定向到登录页面
- asp.net-mvc-4 – 如何在ASP.NET MVC 4上使用SPA热毛巾模板
- context.Request.Files超过了最大请求长度
- asp.net 删除项目文件/文件夹IIS重启,Session丢失问题
- asp.net-mvc – 对移动设备进行内容调整的方法
- asp.net – 如何避免重置IIS以确保调试器附加*正确* IIS工作
- asp.net-mvc – 捕获路由错误
- asp.net-mvc – 如何在MVC3中存储用户首选项
- asp.net-mvc – IE没有为MVC5呈现DatePicker
- asp.net – 如何将JsonResult对象作为字符串获取,以便我可以
推荐文章
站长推荐
热点阅读