2

Identity and Access Control に関する PluralSite のビデオを見て、基本的に必要なものをすべてセットアップした後 (自分のマシンで Thinktecture Identity Server のローカル インスタンスを実行し、Identity and Access vs2012 拡張機能を実行しています)、できません。同じソリューションで 2 つの Web アプリケーションを取得して、Identity Server に対して認証します。

現在、どちらもIDサーバーにログインする必要がありますが、これは私が望んでいるものではありません。IDサーバーに一度ログインして、両方のサイトで認証できるようにしたいです。

これがどのように進むべきかを決定すると私が思うweb.configの部分です:

「レルム」の役割とは正確には何ですか?これは実際の URL である必要がありますか、それとも名前空間のように扱うことができますか? 複数のサイトで Id サーバーによって発行された同じセキュリティ トークンを使用しようとすると、レルムが有効になる必要があることをイメージしています。

<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" />
<wsFederation passiveRedirectEnabled="true" issuer="https://MyIdServer.com/idsvr/issue/wsfed" realm="http://MyLocalServerRunningIISExpress:55495/" reply="http://MyLocalServerRunningIISExpress:55495/" requireHttps="false" />
</federationConfiguration>
</system.identityModel.services>

AudienceUris はどのように機能しますか? 複数のサイトで 1 つのセキュリティ トークンを使用したい場合、各サイトの URL を AudienceUris セクションで表す必要があると思いますか?

<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="SSO.Security.ClaimsAuthenticationManager, SSO.Security" />      
<audienceUris>
<add value="http://MyLocalServerRunningIISExpress:55495/" />
<add value="http://MyLocalServerRunningIISExpress:53133/" />
</audienceUris>
</identityConfiguration>
</system.identityModel>

2 番目のサイトのもう 1 つの web.config ファイルは、上記のセクションとまったく同じですが、URL のポート番号が変更されています。

繰り返しますが、私は Id Srv から 1 つのサイトに対して認証するトークンを返してもらっていますが、2 つのサイトに対してそれを機能させることは一生できません。

これは設定の問題だと思いますか、それとも、実際の IIS サーバーを呼び出して代わりに URL を使用する代わりに、2 つのポート番号で IIS Express の 2 つのインスタンスを実行しているという事実でしょうか?

4

4 に答える 4

0

Cookie ハンドラーではname、 , domain(場合によってはpath) を指定する必要があります。これらは、これを使用するすべてのサイトで等しくなければなりません。

<system.identityModel.services>
  <federationConfiguration>
    <cookieHandler requireSsl="false" 
       name="myCookieName" domain="MyLocalServerRunningIISExpress" path="/"/>
    <wsFederation passiveRedirectEnabled="true" requireHttps="false" 
       issuer="https://MyIdServer.com/idsvr/issue/wsfed" 
       realm="http://MyLocalServerRunningIISExpress:55495/" />
  </federationConfiguration>
</system.identityModel.services>

異なるポート番号を使用するセットアップでこれがどのように機能するかはわかりません。私のセットアップは標準の IIS で、両方のサイトが同じルートでアプリケーションとして実行されています。

私が知っているもう 1 つのセットアップは、ドメインの最後の部分を共通にして 2 つのサイトをセットアップすることです。つまり、サイトには URL:site1.mydomain.comとがありますsite2.mydomain.com。次に、 のdomainパラメータ<cookieHandler>が に設定されmydomain.comます。

はい、すべてのサイトは<audienceUris>、例に既にあるようにリストされている必要があります。

注: URL が と同じ
場合、パラメーターは厳密には必要ありません。replyrealmreply

于 2013-06-21T07:29:24.603 に答える