IIS 7.5我做错了什么?

时间:2010-05-19 08:25:46

标签: iis iis-7.5 passive-sts

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

在ASP.NET网站中,我已经转换了Forms身份验证和身份impersonate = true 我也否认任何匿名用户。

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

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

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

如果你看到表4 IIS集成Windows for IIS然后Web.config设置第3行,相应WindowsIdentity是Domian \ Username。它适用于IIS 6.0 win2003 / IIS 5.1 XP下

1 个答案:

答案 0 :(得分:0)

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

如果您将(网络)应用程序配置为信任外部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身份验证或其他方式,具体取决于实现。