0

在 Windows 7 Utilmate 下的 IIS 7.5 中,我有一个为身份验证配置的应用程序,如下所示:匿名和 Windows

在 ASP.NET 网站中,我已将 Forms 身份验证和身份模拟 = true 我也拒绝任何匿名用户。

<authentication mode="Forms">
</authentication>
<identity impersonate="true"/>
<authorization>
<deny user="?">
</authorization>

IIS 抱怨。我做错了什么......我想要实现的目标:我想要 Windows 登录用户,这样我就可以构建 FormsAuthentication 票证并将其传递给被动 STS。所以在 IIS 中我有匿名和窗口...如果只有窗口打勾,我不能进入 Login.aspx 页面,因为我有一个额外的参数要从那里传递。所以现在在 webconfig 中,然后我通过说拒绝用户 =“?”来禁用匿名用户。,所以它让我使用经过身份验证的 Windows 用户,但使用表单身份验证。你知道我的意思吗?

http://msdn.microsoft.com/en-us/library/ff649264.aspx

如果您看到 Table 4 IIS Integrated Windows for IIS 然后 Web.config 设置第 3 行,因此 WindowsIdentity 是 Domian\Username 。它适用于 XP 下的 IIS 6.0 win2003/IIS 5.1

4

1 回答 1

0

如果这是一个利用基于声明的身份的应用程序,那么验证用户的责任在于 STS 本身,而不是应用程序。

如果您将(Web)应用程序配置为信任外部 STS,那么您的身份验证模式将为“”,并且您将在“ Microsoft.identityModel ”的配置文件中有一个完整的部分。然后,您将在那里配置 STS 地址(颁发者属性)。像这样的东西:

<microsoft.identityModel>
<service>
  <audienceUris>
    <add value="https://aexpense-dev.adatum.com/" />
  </audienceUris>
  <federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" issuer="https://localhost/Adatum.SimulatedIssuer/" realm="https://aexpense-dev.adatum.com/" requireHttps="true" />
    <cookieHandler requireSsl="false" />
  </federatedAuthentication>
  <serviceCertificate>
    <certificateReference x509FindType="FindBySubjectDistinguishedName" findValue="CN=localhost"/>
  </serviceCertificate>
  <certificateValidation certificateValidationMode="None"/>
  <applicationService>
    <claimTypeRequired>
      <claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" optional="true" />
    </claimTypeRequired>
  </applicationService>
  <issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
    <trustedIssuers>
      <add thumbprint="f260042d59e14937984c6183fbc6bfc71baf5462" name="https://localhost/Adatum.SimulatedIssuer/" />
    </trustedIssuers>
  </issuerNameRegistry>
</service>

STS 本身可能会使用 Forms 身份验证或其他方式,具体取决于实现。

于 2010-05-31T03:10:16.973 回答