具有自定义角色的ASP.NET MVC和Windows身份验证
发布时间:2020-12-15 22:56:37 所属栏目:asp.Net 来源:网络整理
导读:我试图在我的ASP.NET MVC2应用程序中实现 Windows身份验证. 我遵循官方文件建议的所有步骤: authentication mode="Windows" /authorization deny users="?" //authorization 我已经指定了NTLM身份验证.到现在为止还挺好.一切都很好 我想检查登录到我的数据
我试图在我的ASP.NET MVC2应用程序中实现
Windows身份验证.
我遵循官方文件建议的所有步骤: <authentication mode="Windows" /> <authorization> <deny users="?" /> </authorization> 我已经指定了NTLM身份验证.到现在为止还挺好.一切都很好 在我的互联网应用程序中,我有一个用户输入数据的表单.表单发布到控制器,该控制器检查所有内容,并与登录用户的用户(和角色)一起创建Cookie. 在我的global.asax中,我已经陷入了AuthenticateRequest事件,在那里我读取了cookie,并创建了一个自定义的主体,我使用全部的应用来检查授权. 如何使用Windows身份验证实现? 解决方法
只需创建一个新的主体并将其分配给Global.asax中的用户和线程(或使用操作过滤器).
protected void Application_AuthenticateRequest(object sender,EventArgs args) { if(HttpContext.Current != null) { String [] roles = GetRolesFromSomeDataTable(HttpContext.Current.User.Identity.Name); GenericPrincipal principal = new GenericPrincipal(HttpContext.Current.User.Identity,roles); Thread.CurrentPrincipal = HttpContext.Current.User = principal; } } 如果用户没有任何匹配的角色,则可以使用web.config authoirzation元素禁止应用使用它们: <authorization> <allow roles="blah,whatever"/> <deny users="*"/> </authorization> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – GridView’GridView1’触发的事件PageIndexChan
- 向asp.net添加样式表(使用Visual Studio 2010)
- asp.net – 将上一个错误传递给自定义错误重定向的最佳方法
- asp.net – 请帮我理解web.config自定义设置的type属性?
- asp.net – Crystal Report Viewer按钮在Google Chrome和Fi
- asp.net – 来自其他MVC项目的MVC4托管视图
- .net – 如何将多个数据视图合并为一个?
- 为什么这个ASP.Net Code-behind中的if语句不起作用?
- asp.net – 无法获取项目引用的依赖项
- asp.net-mvc – 显示主键是一种危险