将Windows帐户用户添加到成员资格提供者角色

时间:2011-12-01 21:01:07

标签: asp.net asp.net-membership

我想将ASP.NET成员资格提供程序与Windows身份验证和成员资格角色一起使用。我需要能够将Windows用户添加到角色。我可以简单地将域用户添加到成员角色。不知道该怎么做。

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

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

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

1 个答案:

答案 0 :(得分:0)

这里有一些选择。

  • 您可以将AzMan用于ADAM或XML后备存储。
  • 您可以自己角色扮演角色扮演者
  • 您可以在Global.asax页面中捕获Application_AuthenticateRequest事件,并在表格,文件等中进行查找。

例如,此处的代码用当前上下文用户Principal替换为泛型用户。

    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中对用户及其角色进行硬编码。