我有两个应用"http:/localhost/applicationA"
和"http:/localhost/applicationB"
。我已经为基于声明的身份验证设置配置了applicationA。 applicationA工作得很好。但是我从applicationA中引用了一些applicationB的javascrips。但是applicationB没有身份验证cookie(FedAuth
)。
我是否可以使用以下代码在applicationA,applicationB中添加声明身份验证?
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="http://localhost/applicationB/" />
<add value="http://localhost/applicationA/" />
</audienceUris>
<issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry">
<authority name="PassiveSigninSTS">
<keys>
<add thumbprint="DE161DD37B2FEC37BDB17CAFF33D982DCE47E740" />
</keys>
<validIssuers>
<add name="PassiveSigninSTS" />
</validIssuers>
</authority>
</issuerNameRegistry>
<!--certificationValidationMode set to "None" by the the Identity and Access Tool for Visual Studio. For development purposes.-->
<certificateValidation certificateValidationMode="None" />
</identityConfiguration>
答案 0 :(得分:5)
您需要在applicationB中启用声明身份验证才能生效。换句话说,您需要在applicationB中设置与applicationA中相同的system.identityModel
web.config设置(如您在示例中所示)。
是否有理由需要保护JavaScript?如果脚本不安全,为什么不让每个人都可以访问它们,这样您就不必担心跨站点的单点登录了?