1

我有两个应用程序"http:/localhost/applicationA""http:/localhost/applicationB". 我已经为基于声明的身份验证设置配置了 applicationA。applicationA 运行良好。但我从 applicationA 引用了一些 applicationB 的 javascrips。但是 applicationB 没有身份验证 cookies( 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>

在此处输入图像描述

4

1 回答 1

5

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

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

于 2013-07-19T12:45:20.040 回答