日期:2014-05-20  浏览次数:20809 次

AD用户验证的问题
public static DirectoryEntry GetDirectoryObject()   //连接AD
        {
            DirectoryEntry entry = new DirectoryEntry("LDAP://gdepb.gov.cn", "", "", AuthenticationTypes.Secure);
            return entry;
        }


系统登录页面,用户输入用户名和密码,点击登录,然后在AD中搜是否存在该用户名,不存在则“该用户不存在”;存在的话进入本地数据库判断密码是否正确,正确则成功登录。

该怎么做呢? 有没有人做过类似的呢?

------解决方案--------------------
AD是什么东东
------解决方案--------------------
直接windows验证不用做登录
------解决方案--------------------
引用:
windows验证什么意思?

由于我没有办法获取AD里面的用户密码,所以我想,当用户输入她的AD密码的时候,能否把她输入的密码拿到AD那边去验证一下,如果AD那边返回给我说密码是正确的,再在我这里验证这个用户是否符合登录条件,符合我才让她登录到这里第三方的系统里面。

你现在用的匿名登录吧,IIS里改用windows身份验证
http://www.cnblogs.com/dinglang/archive/2012/06/03/2532664.html
然后代码用Request.LogonUserIdentity.Name即为用户的登录名
------解决方案--------------------


 public string GetOU(string username)
        {
            string result = string.Empty;
            PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);
            UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, username);
            if (user != null)
            {
                DirectoryEntry directoryEntry = (user.GetUnderlyingObject() as DirectoryEntry);
                if (directoryEntry != null)