2

ASP.NET イントラネット アプリケーション用に ActiveDirectoryMemebershipProvider をセットアップしようとしています。このアプリケーションは、ブラウザーでアクセスしたときにユーザーをアプリケーションに自動的にサインインさせることになっています。

ただし、ブラウザは FQDN (MYDOMAIN\some.user) をサーバーに送信しており、ActiveDirectoryMemebershipProvider は FQDN に基づいてユーザーを見つけることができないようです。ただし、プロバイダーをコードから手動でテストすると、ユーザー名 (some.user) だけを試してみると、プロバイダーはユーザーを見つけることができるように見えることがわかりました。

プロバイダーがブラウザから送信されたドメイン部分をスキップするために使用できる設定または何かはありますか?

4

2 に答える 2

0

IISで、Webサイトのプロパティに移動し、既定のドメインを「\」に設定します。使用しているIISのバージョンがわからないため、IISがこれをリセットした場合、これを実現するもう1つの方法は、ドメイン部分を単に追加して自動的に追加することです。

これはあなたが使用しているカスタムアプリですか、それとも製品ですか?アプリからではなくコードから機能している理由を理解しようとしています。アプリを作成した場合は、コードを模倣するように変更できると思います。あなたがアプリを書かなかった場合、それは何ですか?アプリ(OWAやSharePointなど)には、これを実行するためのカスタムの方法がある場合があります。

于 2010-08-07T13:53:28.137 に答える
0

まだ設定していない場合は、attributeMapUsername を設定してみてください。それがうまくいくかどうかお知らせください。これを設定しなかった場合、ユーザーをsome.user@my.ldap.domain形式で指定する必要がありました。

私の Web.config

    <add name="MyADMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString"
         attributeMapUsername="sAMAccountName"
         enablePasswordReset="false" maxInvalidPasswordAttempts="1" passwordAttemptWindow="15" 
         passwordAnswerAttemptLockoutDuration="1" minRequiredNonalphanumericCharacters="0" attributeMapEmail="mail"
         />
于 2010-08-02T18:23:04.490 に答える