3

私の現在のアプリケーションは、このクラスを使用して、LDAP(より正確にはActive Directory)に対してPrincipalContextデフォルトユーザー(Web.config専用セクションに入力)を認証します。

ldapContext = new PrincipalContext(AdContextType, AdHost, AdContainer, 
                                   ContextOptions.SimpleBind,
                                   AdDefaultUser, AdDefaultPassword)

この認証により、(を介して)他のユーザーを検索できますUserPrincipal.FindByIdentity(ldapContext, username)ただし、 Web.configでユーザーを明確にすることはクライアントには受け入れられないため、これを変更する必要があります。OK、私はそれを理解することができます:-))

だから私はいくつかの解決策を持っています:

  • Web.configの対応する部分(membership部分、withprovidersなど)の暗号化を管理する

  • アプリケーションが展開されているIIS7のアプリケーションプールのアカウントを使用します。これは、IISからプリンシパルを取得し(この点はそれほど難しくないはずです)、ADに対する認証に使用することを意味します。しかし、私はそのためのメソッドを見つけることができません。クラス経由でも、PrincipalContextクラス経由でもありませんActiveDirectoryMembershipProvider

これら2つのソリューションのいずれかを管理する方法を知っていますか、それとも他のソリューションについて考えていますか?

どうもありがとう !!

4

1 に答える 1

2

ユーザー名が問題ではなく、パスワードが問題だと思いますか?私が知る限り、2番目の解決策は仕事をしたいです。私がこれを行うことを知っている方法はありません。

最初のソリューションでは、ユーザー名とパスワードを暗号化し、暗号化された値を文字列に保存できます。ロード後、文字列を復号化する必要があります。しかし、あなたのソリューションは分解に対して安全ではありません。

また、高度なセキュリティの実装が必要な場合は、暗号化キーを安全なストアに保存することもできます。そうすれば、分解するのを防ぐことができます。

于 2011-05-10T17:04:23.587 に答える