在查看有关身份和访问控制的 PluralSite 视频后,基本上设置了我需要的所有内容(我的机器上有一个正在运行的 Thinktecture Identity Server 本地实例,以及 Identity and Access vs2012 扩展),我不能在同一解决方案中获取两个 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 是如何工作的?我假设如果我想跨多个站点使用一个安全令牌,我需要在 AudienceUris 部分中表示每个站点的 URL?
<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>
第二个站点的另一个 web.config 文件就像上面的部分一样,但在 URL 上更改了端口号。
同样,我确实让 Id Srv 将一个令牌传回给我,该令牌对我进行 ONE 站点的身份验证,但我终其一生都无法让它为两个站点工作。
我猜这是一个配置问题,或者可能是我在两个端口号上运行两个 IIS Express 实例,而不是使用真正的 IIS 服务器并使用 URL 来代替?