- PR -

ASP,ADSIによるActiveDirectory認証

1
投稿者投稿内容
midori
会議室デビュー日: 2005/01/28
投稿数: 9
投稿日時: 2005-06-23 19:01
こんにちわ。

ASP,ADSIによるActiveDirectoryの認証について質問させて頂きます。

現在は、アカウントロックのチェックを行った後、認証を行っております。
これを、認証が通った場合のみ、アカウントロックされているというメッセージを表示したいと考えています。

ロックされているユーザの認証を行った場合、ロックによるエラーとパスワード不正によるエラーとの判別ができないので、パスワードの正当性が判断出来ずに困っております。

以下についてご存知の方がおられましたら、教えて頂ければと思います。
・アカウントロックされているユーザの認証を行う方法はあるのでしょうか
・アカウントロックを一時的に解除し、認証後にもう一度ロックする、といった方法は可能でしょうか


以下、ソースになります。

=======================================================
'ユーザオブジェクトの取得
Set oAdoCon = Server.CreateObject("ADODB.Connection")
oAdoCon.ConnectionString = "Provider=ADSDSOObject;User ID=bind;Password=****;"
oAdoCon.Open
Set oAdoCom = CreateObject("ADODB.Command")
Set oAdoCom.ActiveConnection = oAdoCon
oAdoCom.CommandText = _
"SELECT badPwdCount " & _
"FROM 'LDAP://192.168.1.1/DC=RKC,DC=local' " & _
"WHERE objectClass = 'user' AND CN='" & Request("USERID") & "'"
Set oAdoUser = oAdoCom.Execute

'アカウントロックのチェック
If Clng(oAdoUser("badPwdCount")) >= 5 Then
メッセージ表示:"このユーザはパスワードを5回以上間違えました"
End If

'認証
Set oAdsiNmsp = GetObject("LDAP:")
Set oAdsiUser = oAdsiNmsp.OpenDSObject("LDAP://192.168.1.1/" & _
oAdoUser("distinguishedName"), _
oAdoUser("distinguishedName"), _
Request("PASSWORD"), 0)
If Err <> 0 Then
メッセージ表示:"ユーザ名またはパスワードが間違っています"
End If
=======================================================

以上、宜しくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)