IIS 7 を搭載した 2 台の Windows 2008 サーバーで asp.net (.net 3.5) Web サイトを実行しています。Web サーバーには、アプリ サーバーで wcf Web サービスを呼び出す UI コードが含まれています。次に、これらの wcf サービスが Oracle データベースを呼び出します。
私の問題は、アプリ サーバーの C:\Users にローカル ユーザー プロファイルが作成されていることです。これらのローカル ユーザー プロファイルには、Web サイト上のユーザーと同じ名前があります。これは、ユーザーが Web サイトでパスワードを変更したときに発生することに気付きました。Web サイトのすべてのアカウントにローカル ユーザー プロファイルを設定すると、多くのスペースが占有されます。
なぜこれが起こっているのか、どうすればそれを止めることができるのか、誰にも分かりませんか? 検索して検索しましたが、Windows フォーラムで私と同じ問題を抱えている人は 1 人しか見つかりませんでした。残念ながら、誰も彼/彼女の投稿に答えませんでした。願わくば、ここで幸運を祈ります!:)
最初は、すべてのアプリ プールに対して IIS の "ユーザー プロファイルの読み込み" 設定をオフにすればうまくいくのではないかと思っていましたが、問題は解決しませんでした。 編集:この設定は、実際のWebサイトユーザーではなく、アプリプール用に作成されたユーザープロファイルを担当していると思います.
アプリ サーバーのローカル セキュリティ ポリシーで [ローカル ログオンを許可する] 設定を変更し、[ユーザー] を削除することを検討しています。この権限が必要なのは "管理者" だけだと思うからです。ただ、私の環境では、このように設定を変更するための手順をすべて実行するのは少し面倒で、うまくいくかどうかもわからないので、それを試す前にここで何らかの反応を得たいと思っています. .
プリンシパルコンテキスト/ユーザープリンシパル
言及するのを忘れていましたが、プロファイルが作成されている犯人コードを知っていると思います。残念ながら、コードのこの特定の部分をデバッグすることはできません。これは Web サービス内にあるため、正確な行を伝えることができません。ただし、推測する必要がある場合は、次のコード行でユーザー プロファイルが作成されると思います。
Dim pcDomain As New PrincipalContext(ContextType.Domain, _strDomain, _strPath)
Dim upDomain As UserPrincipal = UserPrincipal.FindByIdentity(pcDomain, strUserName)
upDomain.ChangePassword(strCurrentPassword, strNewPassword)
2014 年 2 月 19 日を編集
また、Web サイトのユーザーは Active Directory で認証されます。