2016-04-05 13 views
0

LDAPに設定されているため、ユーザーをADに保管して認証することができます。下のコードを使用して資格情報を検証し、その目的のために正常に動作しているようです。私はブルートフォース攻撃を防ぐために壁に突っ込んでいるので、Active Directoryの設定を使用しようとしました。問題は、無効なパスワードでログインしようとすると、LDAPのbadPwdCountフィールドが0に設定されていて、失敗したログイン試行回数にかかわらず、ユーザーはブロックされません。失敗したログイン試行後にLDAPユーザーをブロックする

private void TryAuthenticate(string password, string fullUserName) 
    { 
     LdapDirectoryIdentifier ide = new LdapDirectoryIdentifier(this.host, Convert.ToInt32(this.port)); 
     LdapConnection con = new LdapConnection(ide); 

     con.SessionOptions.SecureSocketLayer = (secure == "1"); 

     con.AuthType = AuthType.Basic; 
     con.AutoBind = false; 
     con.Bind(GetNetworkCredentials(password, fullUserName)); 

     con.Dispose(); 
     con = null; 
    } 

は、あなたたちはこのことについてどんな考えを持ってください:私はLDAPでユーザーを認証するために使用しているコードを見ることができます以下

?私はここで立ち往生している。

注:私は手動でこれを処理することができますが、私はむしろADは私のためにこれを行うと思います。

事前に感謝します。

+0

あなたは自分のユーザーをしたいですか?それがあなたが求めているものですから。 CAPTCHAまたは作業証明書を使用してください –

+0

私はあなたの意見を見ますが、私の呼び出しではありません。実際にこの質問は建築チームと出てきて、彼らはこのようにすることにしました。私はこの解決策にかなり悩まされています。 – Zalomon

答えて

0

私は何が起こっているのか分かりましたので、興味のある方はここに投稿してください。ADSI Editを開き、ADAMインスタンスに接続し、Configurationコンテナを展開し、CN = Directory Serviceノードにドリルダウンし、 [プロパティ]ダイアログボックスを表示し、msDS-Other-Settings属性を探して、[コマンドの編集]ボタンをクリックします。 Multi-valued String Editorダイアログボックスで、ADAMDisablePasswordPoliciesが表示され、その値を0に設定します。 ADAMDisablePasswordPoliciesが1に設定されている場合、パスワード設定は無視され、ユーザーは何に関係なくブロックされません。

関連する問題