为localhost中的多个应用程序配置基于声明的标识

时间:2013-07-19 06:07:18

标签: asp.net-mvc web-config wif claims-based-identity federated-identity

我有两个应用"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>

                              

enter image description here

1 个答案:

答案 0 :(得分:5)

您需要在applicationB中启用声明身份验证才能生效。换句话说,您需要在applicationB中设置与applicationA中相同的system.identityModel web.config设置(如您在示例中所示)。

是否有理由需要保护JavaScript?如果脚本不安全,为什么不让每个人都可以访问它们,这样您就不必担心跨站点的单点登录了?