我需要知道如何 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-papplication.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top