检查用户是否有效的Windows身份验证MVC3

时间:2012-02-16 10:08:17

标签: asp.net asp.net-mvc-3

我有一个用户将Windows身份验证与ASPnet角色结合使用的应用程序,因此角色存储在数据库中,但是Windows域中的用户。

我希望有一个管理页面,管理员可以将现有用户添加到角色,是否有人知道我可以检查用户名输入在活动目录域中是否有效的简单方法?

2 个答案:

答案 0 :(得分:4)

您可以使用PrincipalContext类:

public bool UserExistsInAd(string username)
{
    using (var pc = new PrincipalContext(ContextType.Domain))
    {
        var up = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, username);
        return up != null;
    }
}

显然,您在IIS中运行ASP.NET MVC 3应用程序的帐户必须具有足够的权限才能访问Active Drectory。

答案 1 :(得分:0)

查找System.DirectoryServices命名空间