【问题标题】:IIS 7.5 What am I doing wrong?IIS 7.5 我做错了什么?
【发布时间】:2011-02-21 06:38:48
【问题描述】:

在 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

【问题讨论】:

  • IIS报错时,错误信息/状态码是什么?
  • 我认为您可能需要查看 asp.net 身份验证文档。这不是一个微不足道的问题,应该完全理解,而不是从 2 段演示中收集到,即使它是正确的。
  • msdn.microsoft.com/en-us/library/ff649264.aspx 如果您看到 Table 4 IIS Integrated Windows for IIS 然后 Web.config 设置第 3 行,因此 WindowsIdentity 是 Domian\Username

标签: iis iis-7.5 passive-sts


【解决方案1】:

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

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

<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 本身可能使用表单身份验证或其他方式,具体取决于实现。

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2021-04-19
    • 2017-03-13
    • 2017-01-18
    • 2013-06-24
    • 1970-01-01
    相关资源
    最近更新 更多