예제 #1
0
 /// <summary>
 /// 验证用户登录。
 /// </summary>
 /// <param name="loginName">表示用户登录名。</param>
 /// <param name="password">表示用户登录口令。</param>
 /// <returns>返回用户登录结果。</returns>
 public LoginResult LoginUser(string loginName, string password)
 {
     if (!ExistUserByLoginName(loginName))
     {
         return(LoginResult.DOES_NOT_EXIST);
     }
     using (DomainUser domainUser = GetUserByLoginName(loginName))
     {
         if (!domainUser.IsAccountActive())
         {
             return(LoginResult.ACCOUNT_INACTIVE);
         }
     }
     using (DirectoryEntry de = new DirectoryEntry(CreateDirectoryPath(DistinguishedName), DomainName + @"\" + loginName, password))
     {
         try
         {
             object obj = de.NativeObject;
             return(LoginResult.SUCCESS);
         }
         catch
         {
             return(LoginResult.PASSWORD_INCORRECT);
         }
     }
 }