IPrincipal 如何获得其角色?
我需要了解 SiteMapProvider.IsAccessibleToUser()
的工作原理。
内置 XmlSiteMapProvider
调用 HttpContext.User.IsInRole()
,在表单身份验证的情况下使用 System.Security.Principal.GenericPrincipal
。
当前用户从哪里获得其角色?哪个提供商加载此类信息?我想重载它并使用自定义逻辑。
I need to get know how SiteMapProvider.IsAccessibleToUser()
works.
Built-in XmlSiteMapProvider
calls HttpContext.User.IsInRole()
which uses System.Security.Principal.GenericPrincipal
in case of forms authentication.
Where does the current user gets its roles? Which provider loads this kind of information? I want to overload it and use custom logic.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过实现 RoleProvider 来做到这一点。查看这些链接:
http://msdn.microsoft.com/en-us /library/8fw7xh74.aspx
http://www.codeproject.com/ KB/aspnet/WSSecurityProvider.aspx
You do this by implementing a RoleProvider. Check out these links:
http://msdn.microsoft.com/en-us/library/8fw7xh74.aspx
http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspx
要使用自定义逻辑,您可以使用角色创建自己的表单身份验证 cookie,并在 Global.asax 中将其读回。
请参阅这些:
http://weblogs.asp.net/rajbk/archive/2010/04/01/securing-an-asp-net-mvc-2-application.aspx
To use custom logic, you can create your own forms authentication cookie with roles and read it back in Global.asax.
See these:
http://weblogs.asp.net/rajbk/archive/2010/04/01/securing-an-asp-net-mvc-2-application.aspx