我有一个使用 WIF 3.5 构建的自定义 STS。我在同一台服务器上有 2 个依赖方。配置如下:
RP1:
<audienceUris mode="Always">
<clear />
<add value="https://server1:1843/RP1/" />
</audienceUris>
<federatedAuthentication>
<wsFederation passiveRedirectEnabled="true" issuer="https://server2:1743/" realm="https://server1:1843/RP1/" requireHttps="true" />
<cookieHandler requireSsl="true" />
</federatedAuthentication>
RP2:
<audienceUris mode="Always">
<clear />
<add value="https://server1:1643/" />
</audienceUris>
<federatedAuthentication>
<wsFederation passiveRedirectEnabled="true" issuer="https://server2:1743/" realm="https://server1:1643/" requireHttps="true" />
<cookieHandler requireSsl="true" />
</federatedAuthentication>
有了这个配置,一切都按预期工作。如果我登录到 RP1,然后浏览到 RP2,我会被重定向到 server2 上的 STS。但是,如果我将 RP 1 的配置更改如下:
<cookieHandler requireSsl="true" path="/" />
当我浏览到 RP2 时登录到 RP1 后,我没有被重定向到 server2 上的 STS,我可以访问 RP2。
为什么 RP1 中的此配置会允许或拒绝对 RP2 的访问?