2015-03-24 4 views
1

У меня есть приложение для проверки подлинности формы как полагающаяся сторона. Я настроил это приложение как полагающуюся сторону на сервере ADFS. Но веб-сайт ADFS не имеет аутентификации по форме.Как заменить существующую аутентификацию на основе формы на adfs 2.0? какой модуль добавить? Как заменить информацию о классе FormsAuthentication?

Что нужно изменить в моем заявлении о полагающейся стороне?

+1

МНОГО должен быть изменен. Вы действительно должны прочитать об аутентификации федерации. – TheGeekYouNeed

+0

Здравствуйте, Не могли бы вы предложить, что и как? Спасибо за ответ. Я использую VS 2010 и WIF 3.5.ADFS не имеет проверки подлинности формы. Теперь я хочу заменить существующий RP-код FormAuthentication, похожий на то, что будет FormsAuthenticationTicket, если у меня нет аутентификации формы сейчас? а также FormsAuthentication.FormsCookieName? В основном я не знаю, как использовать модуль WSFederationAuthentication и модуль Session в коде для доступа к файлам cookie и билетам и другой связанной информации. – user2250161

ответ

0

Мой ответ будет таким же хорошим, как ваш вопрос, поскольку вы не предоставили много справочной информации, например. Версия Visual Studio, версия .NET framework, версия asp.net и т. Д.

Если вы используете VS 2010 и WIF, есть довольно удобный инструмент, называемый Magic Utility Wizard (FedUtil), который будет настраивать вас приложение «автоматически». Это article описывает именно то, что вам нужно.

В конце концов, модель личности вашего Web.config должен выглядеть следующим образом:

<microsoft.identityModel> 
    <service> 
     <audienceUris> 
     <add value="http://localhost:57349/ClaimsAwareWebSite2/" /> 
     </audienceUris> 
     <federatedAuthentication> 
     <wsFederation passiveRedirectEnabled="true" issuer="https://<specified STS>/FederationPassive/" realm="http://localhost:57349/ClaimsAwareWebSite2/" requireHttps="false" /> 
     <cookieHandler requireSsl="false" /> 
     </federatedAuthentication> 
     <serviceCertificate> 
     <certificateReference x509FindType="FindByThumbprint" findValue="48BF03FCEDA703DE09E0F1F0CEFED60BB92B3DD8" storeLocation="LocalMachine" storeName="My" /> 
     </serviceCertificate> 
     <applicationService> 
     <claimTypeRequired> 
      <!--Following are the claims offered by STS 'http://<specified STS>/Trust'. Add or uncomment claims that you require by your application and then update the federation metadata of this application.--> 
      <claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" optional="true" /> 
      <claimType type="http://schemas.microsoft.com/ws/2008/06/identity/claims/role" optional="true" /> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/claims/CommonName" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/claims/EmailAddress" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/claims/Group" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/claims/UPN" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/webpage" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/title" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/picture" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/manager" optional="true" />--> 
      <!--<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/department" optional="true" />--> 
     </claimTypeRequired> 
     </applicationService> 
     <issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> 
     <trustedIssuers> 
      <add thumbprint="5C8885A8E3D29D6BF6C9365E00B1BEA5EB284D1E" name="CN=<specified STS>, OU=US-Federated Identity, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> 
     </trustedIssuers> 
     </issuerNameRegistry> 
    </service> 
    </microsoft.identityModel> 
+0

Спасибо за ответ. Я использую VS 2010 и WIF 3.5. Я сделал это выше. Теперь я хочу заменить существующий код, связанный с FormAuthentication, как то, что будет FormsAuthenticationTicket, если у меня нет проверки подлинности формы сейчас? а также FormsAuthentication.FormsCookieName? В принципе, я не знаю, как использовать модуль WSFederationAuthentication Module и Session в коде для доступа к файлам cookie и билетам и другой связанной информации. – user2250161

+0

Да, у вас ее нет, и вам это не нужно. Если вы правильно настроили приложение и перенаправляетесь на свой STS, тогда инфраструктура WIF позаботится об этом через SAM и FAM. Взгляните на это: https://msdn.microsoft.com/en-us/magazine/ff872350.aspx –

+0

Да, спасибо! Можете ли вы, пожалуйста, также сказать, следует ли использовать cookie FedAuth или файл cookie .ASPXAuth в полагающейся стороне? поскольку мое существующее приложение было аутентификацией формы, но после внедрения ADFS моя RP-сеть будет аутентификацией = «Нет», а проект adfs/ls web.config будет иметь «аутентификация = Windows» – user2250161

0

WIF использует WS-Trust или FedAuth для перенаправления пользователя на ADFS для проверки подлинности. Как вы используете VS 2010, вы должны установить - WIF время выполнения - WIF SDK для .Net Framework 4.0

Установка вышеуказанных инструментов позволит использовать мастер FedUtil создать вам утверждает осведомленный приложение.

Обратитесь к этим статьям, чтобы начать: http://blogs.msdn.com/b/distributedservices/archive/2013/05/13/create-claims-aware-wcf-service-using-wif-on-framework-4-0.aspx

http://blogs.msdn.com/b/napegadie_kones_msft_blog/archive/2015/04/03/what-do-i-need-to-build-a-claims-aware-wcf-service-in-vs-2013.aspx

+0

Спасибо! Я уже сделал эти шаги, но это хорошая статья. Спасибо, что поделился! – user2250161

+0

спасибо вам, за полезные ссылки, –