IIS 7.5 Что я делаю не так?
В IIS 7.5 под Windows 7 Utilmate у меня есть приложение, которое настроено для проверки подлинности следующим образом: Anonymous & Windows
На веб-сайте ASP.NET я включил проверку подлинности с помощью форм и личность impersonate = true. Я также запрещаю анонимным пользователям.
<authentication mode="Forms">
</authentication>
<identity impersonate="true"/>
<authorization>
<deny user="?">
</authorization>
IIS жалуется. Что я делаю не так... Чего я хочу добиться: я хочу, чтобы пользователь Windows вошел в систему, чтобы я мог создать билет FormsAuthentication и передать его в Passive STS. Таким образом, в IIS у меня есть аноним и окна... Если отмечены только окна, я не могу перейти на страницу Login.aspx, так как у меня есть дополнительный параметр для передачи оттуда. Итак, теперь в webconfig я отключаю анонимных пользователей, говоря deny user="?", так что он оставляет меня с аутентифицированным пользователем Windows, но с использованием проверки подлинности с помощью форм. Вы знаете, что я имею в виду??
http://msdn.microsoft.com/en-us/library/ff649264.aspx
Если вы видите Таблицу 4 IIS Integrated Windows для IIS, тогда Web.config задает 3-ю строку, соответственно WindowsIdentity - Domian\Username . Работает на IIS 6.0 win2003/IIS 5.1 под XP
1 ответ
Если это приложение, которое использует идентификацию на основе утверждений, то ответственность за аутентификацию пользователей лежит на самом 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 может использовать проверку подлинности с помощью форм или что-то еще, в зависимости от реализации.