DirectoryServicesCOMException.ExtendedErrorMessage - 数据代码列表
DirectoryServicesCOMException.ExtendedErrorMessage - List of Data Codes
我正在构建一个让用户使用他们的 Active Directory 帐户登录的网站,我想通知用户他们登录失败的原因。
背景
登录通常会因错误 Username/Password 而失败,但也可能会因密码过期或帐户被锁定而失败。
我正在使用 this code 执行登录:
public myCustomUserClass Login(string domainName, string username, string password)
{
string domainAndUsername = domainName + @"\" + username;
DirectoryEntry entry = new DirectoryEntry(this._ldapPath, domainAndUsername, password);
myCustomUserClass user = new myCustomUserClass();
//Bind to the native AdsObject to force authentication.
try
{
object obj = entry.NativeObject;
// ...
return user;
}
catch (DirectoryServicesCOMException ex)
{
// why did the login fail?
}
catch (Exception ex)
{
// something else went wrong
}
}
当我收到 DirectoryServicesCOMException
时,我可以在 .ExtendedErrorMessage
属性 中访问有关失败登录尝试的更多信息。到目前为止我看到的两个值是:
锁定:
8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 775, v1db1
错误的用户名:
8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 52e, v1db1
你可以看到 data
"attribute" 似乎是独一无二的。我可以编写提取它的代码,然后基于此编写一个开关。
问题
是否有这些代码的列表,我可以用它来确保我涵盖了所有内容?
在搜索有关 DirectoryServicesCOMException.ExtendedErrorMessage
的 Microsoft 资源一天后,我在这里发现了一个措辞不同的问题:
: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 773, v1db1 ]
它引用了一个包含多个此类代码的网站:
http://www-01.ibm.com/support/docview.wss?uid=swg21290631
下面是错误代码列表:
525 - user not found
52e - invalid credentials
530 - not permitted to logon at this time
531 - not permitted to logon at this workstation
532 - password expired
533 - account disabled
534 - The user has not been granted the requested logon type at this machine
701 - account expired
773 - user must reset password
775 - user account locked
我正在构建一个让用户使用他们的 Active Directory 帐户登录的网站,我想通知用户他们登录失败的原因。
背景
登录通常会因错误 Username/Password 而失败,但也可能会因密码过期或帐户被锁定而失败。
我正在使用 this code 执行登录:
public myCustomUserClass Login(string domainName, string username, string password)
{
string domainAndUsername = domainName + @"\" + username;
DirectoryEntry entry = new DirectoryEntry(this._ldapPath, domainAndUsername, password);
myCustomUserClass user = new myCustomUserClass();
//Bind to the native AdsObject to force authentication.
try
{
object obj = entry.NativeObject;
// ...
return user;
}
catch (DirectoryServicesCOMException ex)
{
// why did the login fail?
}
catch (Exception ex)
{
// something else went wrong
}
}
当我收到 DirectoryServicesCOMException
时,我可以在 .ExtendedErrorMessage
属性 中访问有关失败登录尝试的更多信息。到目前为止我看到的两个值是:
锁定:
8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 775, v1db1
错误的用户名:
8009030C: LdapErr: DSID-0C0904DC, comment: AcceptSecurityContext error, data 52e, v1db1
你可以看到 data
"attribute" 似乎是独一无二的。我可以编写提取它的代码,然后基于此编写一个开关。
问题
是否有这些代码的列表,我可以用它来确保我涵盖了所有内容?
在搜索有关 DirectoryServicesCOMException.ExtendedErrorMessage
的 Microsoft 资源一天后,我在这里发现了一个措辞不同的问题:
: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 773, v1db1 ]
它引用了一个包含多个此类代码的网站:
http://www-01.ibm.com/support/docview.wss?uid=swg21290631
下面是错误代码列表:
525 - user not found
52e - invalid credentials
530 - not permitted to logon at this time
531 - not permitted to logon at this workstation
532 - password expired
533 - account disabled
534 - The user has not been granted the requested logon type at this machine
701 - account expired
773 - user must reset password
775 - user account locked