2011-12-01 112 views
0

我想使用具有Windows身份验证和成员身份角色的ASP.NET成员资格提供程序。我需要能够将Windows用户添加到角色。我可以简单地将域用户添加到成员资格角色。不知道如何做到这一点。将Windows帐户用户添加到成员资格提供者角色

我不需要将用户信息,密码等存储在Memebership表中。我只是想使用Memebership提供者来实现角色功能。

本质上,我试图做的是,如果我用(域帐户)登录的用户处于“管理员”角色 - 我可以看到该页面。我不想维护第二组凭据(Windows和Membership)来执行此操作。这也不会要求用户登录以查看管理页面。

感谢您提供的任何提示...

回答

0

这里有几个选项。

  • 您可以将AzMan与ADAM或XML后备存储一起使用。
  • 你可以角色你自己的RoleProvider
  • 你可以赶上在Global.asax页的Application_AuthenticateRequest事件,并在表中进行查找,文件等

例如这里是代码替换当前上下文用户使用通用的主体。

protected void Application_AuthenticateRequest(object sender, EventArgs e) 
    { 
     if (Context.User != null) 
     { 
      var genericIdentity = new GenericIdentity(Context.User.Identity.Name); 
      //TODO - get roles from somewhere.... 
      var principal = new GenericPrincipal(genericIdentity, new string[] { "CanSavePerson" }); 
      Context.User = principal; 
     } 
    } 

而不是字符串[] {“CanSavePerson”}你会在你选择的数据存储中查找该人的角色。

  • 作为最终选项,您可以在web.config中对用户及其角色进行硬编码。
相关问题