现在的位置: 首页 > 综合 > 正文

ADHelper 活动目录用户操作类[转载]

2012年10月08日 ⁄ 综合 ⁄ 共 3553字 ⁄ 字号 评论关闭
原文地址:http://blog.joycode.com/liuhuimiao/articles/20946.aspx
 

using System;

using System.DirectoryServices;

 

namespace SystemFrameworks.Helper

{

     ///

     /// 活动目录辅助类。封装一系列活动目录操作相关的方法。

     ///

     public sealed class ADHelper

     {

         ///

         /// 域名

         ///

         private static string DomainName = "MyDomain";

         ///

         /// LDAP 地址

         ///

         private static string LDAPDomain = "DC= MyDomain,DC=local";

         ///

         /// LDAP绑定路径

         ///

         private static string ADPath = "LDAP://brooks.mydomain.local";

         ///

         /// 登录帐号

         ///

         private static string ADUser = "Administrator";

         ///

         /// 登录密码

         ///

         private static string ADPassword = "password";

         ///

         /// 扮演类实例

         ///

         private static IdentityImpersonation impersonate = new IdentityImpersonation(ADUser, ADPassword, DomainName);

 

         ///

         /// 用户登录验证结果

         ///

         public enum LoginResult

         {

              ///

              /// 正常登录

              ///

              LOGIN_USER_OK = 0,

              ///

              /// 用户不存在

              ///

              LOGIN_USER_DOESNT_EXIST,

              ///

              /// 用户帐号被禁用

              ///

              LOGIN_USER_ACCOUNT_INACTIVE,

              ///

              /// 用户密码不正确

              ///

              LOGIN_USER_PASSWORD_INCORRECT

         }

 

         ///

         /// 用户属性定义标志

         ///

         public enum ADS_USER_FLAG_ENUM

         {

              ///

              /// 登录脚本标志。如果通过 ADSI LDAP 进行读或写操作时,该标志失效。如果通过 ADSI WINNT,该标志为只读。

              ///

              ADS_UF_SCRIPT = 0X0001,

              ///

              /// 用户帐号禁用标志

              ///

              ADS_UF_ACCOUNTDISABLE = 0X0002,

              ///

              /// 主文件夹标志

              ///

              ADS_UF_HOMEDIR_REQUIRED = 0X0008,

              ///

              /// 过期标志

              ///

              ADS_UF_LOCKOUT = 0X0010,

              ///

              /// 用户密码不是必须的

              ///

              ADS_UF_PASSWD_NOTREQD = 0X0020,

              ///

              /// 密码不能更改标志

              ///

              ADS_UF_PASSWD_CANT_CHANGE = 0X0040,

              ///

              /// 使用可逆的加密保存密码

              ///

              ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = 0X0080,

              ///

              /// 本地帐号标志

              ///

              ADS_UF_TEMP_DUPLICATE_ACCOUNT = 0X0100,

              ///

              /// 普通用户的默认帐号类型

              ///

              ADS_UF_NORMAL_ACCOUNT = 0X0200,

              ///

              /// 跨域的信任帐号标志

              ///

              ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = 0X0800,

              ///

              /// 工作站信任帐号标志

              ///

              ADS_UF_WORKSTATION_TRUST_ACCOUNT = 0x1000,

              ///

              /// 服务器信任帐号标志

              ///

              ADS_UF_SERVER_TRUST_ACCOUNT = 0X2000,

              ///

              /// 密码永不过期标志

              ///

              ADS_UF_DONT_EXPIRE_PASSWD = 0X10000,

              ///

              /// MNS 帐号标志

              ///

              ADS_UF_MNS_LOGON_ACCOUNT = 0X20000,

              ///

              /// 交互式登录必须使用智能卡

              ///

              ADS_UF_SMARTCARD_REQUIRED = 0X40000,

              ///

              /// 当设置该标志时,服务帐号(用户或计算机帐号)将通过 Kerberos 委托信任

              ///

              ADS_UF_TRUSTED_FOR_DELEGATION = 0X80000,

              ///

              /// 当设置该标志时,即使服务帐号是通过 Kerberos 委托信任的,敏感帐号不能被委托

              ///

              ADS_UF_NOT_DELEGATED = 0X100000,

              ///

              /// 此帐号需要 DES 加密类型

              ///

              ADS_UF_USE_DES_KEY_ONLY = 0X200000,

              ///

              /// 不要进行 Kerberos 预身份验证

              ///

              ADS_UF_DONT_REQUIRE_PREAUTH = 0X4000000,

              ///

              /// 用户密码过期标志

              ///

              ADS_UF_PASSWORD_EXPIRED = 0X800000,

              ///

抱歉!评论已关闭.