2009-04-10 17 views
1

Windows認証となりすましを使用しているASP.Netアプリケーション(Win2K上)があります。このコードは素晴らしい作品ユーザーオブジェクトのChangePasswordが成功しなかった場合、アカウントをロックしません。

Dim objDE As DirectoryEntry 
'... 
objDE.Invoke("ChangePassword", txtOldPassword, txtNewPassword) 

複数回失敗があった場合、それがアカウントをロックしない以外、:私たちは、パスワードを変更するには、次のコードを使用しています。誤ったパスワードが複数回(ポリシーで指定されているように)提供された場合、このコードを使ってアカウントをロックする方法はありますか?これにより、システムの安全性が低下する可能性があるため、ユーザーの権限を昇格することはできません。

答えて

1

一般ユーザーが自分のアカウントを直接ロックする権限を持っているかどうかはわかりません。しかし、そのような操作を行うための一つの方法は、次のようになります。

objDE.InvokeSet("IsAccountLocked", true) 

のActive Directory上の.NETの素晴らしいリソースについてthis articleを参照してください。

良いリンクが必要な場合は、上記のリンクについての私の考えは、this oneです。

+0

残念ながら、私たちが受け入れられないユーザー権限を昇格させる必要があるため、このソリューションを使用することはできません。 –

+1

認証を実行するサービスアカウントを作成できませんか。そのアカウントは対話的にログインする必要はありません。 ユーザーの認証情報を使用してログインする際のもう1つの問題は、アカウントが無効になっていてもログインできることです。 ハックとして、私はそれを言いたくはありませんが、間違ったパスワードで複数回ログインしようとすると、アカウントをロックすることができます。 – codemonkeh

+0

あなたが提案したハックは、実際には良いアイデアです。私は同じ行に沿って考えていました。 –

関連する問題