我需要知道如何SiteMapProvider.IsAccessibleToUser()
工作。
在表单身份验证的情况下使用的内置XmlSiteMapProvider
调用。HttpContext.User.IsInRole()
System.Security.Principal.GenericPrincipal
当前用户从哪里获得其角色?哪个提供商加载此类信息?我想重载它并使用自定义逻辑。
我需要知道如何SiteMapProvider.IsAccessibleToUser()
工作。
在表单身份验证的情况下使用的内置XmlSiteMapProvider
调用。HttpContext.User.IsInRole()
System.Security.Principal.GenericPrincipal
当前用户从哪里获得其角色?哪个提供商加载此类信息?我想重载它并使用自定义逻辑。
您可以通过实现 RoleProvider 来做到这一点。查看这些链接:
http://msdn.microsoft.com/en-us/library/8fw7xh74.aspx
http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspx
要使用自定义逻辑,您可以使用角色创建自己的表单身份验证 cookie,并在 Global.asax 中读回它。
见这些:
private void SetAuthenticationCookie(int employeeID, List<string> roles)
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
http://weblogs.asp.net/rajbk/archive/2010/04/01/securing-an-asp-net-mvc-2-application.aspx