2015-07-10 110 views
0

從web我現在的STS配置如下,microsoft.identityModel遷移到system.Identity模型

<microsoft.identityModel>  
<service saveBootstrapTokens="true"> 
    <audienceUris mode="Never"/> 
    <federatedAuthentication> 
    <wsFederation passiveRedirectEnabled="true" issuer="https://fs.mysite.net/adfs/ls" realm="https://myweb.cloudapp.net/" reply="https://myweb.cloudapp.net/Account/FederatedResult" requireHttps="false"/> 
    <cookieHandler requireSsl="false"/> 
    </federatedAuthentication> 
    <serviceCertificate> 
    <certificateReference x509FindType="FindBySubjectName" findValue="*.mydomain.net"/> 
    </serviceCertificate> 
    <applicationService> 
    <claimTypeRequired> 
     <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"/> 
    </claimTypeRequired> 
    </applicationService> 
    <issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> 
    <trustedIssuers> 
     <add thumbprint="a5069c80a92e7a49937bba9bc25a85a57b4bbc74" name="https://fs.myweb.net/adfs/services/trust"/> 
    </trustedIssuers> 
    </issuerNameRegistry> 
    <certificateValidation certificateValidationMode="None"/> 
</service> 

我需要如下介紹MachineKeySessionSecurityTokenHandler,(在Web場環境,我需要通過makeykey執行cookie加密)

<system.identityModel> 
    <identityConfiguration> 
    <securityTokenHandlers> 
     <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </securityTokenHandlers> 
    </identityConfiguration> 
</system.identityModel> 

但是標記在system.identityModel中不可用。同時federationAuthentication標籤給出錯誤。有人可以幫助我將microsoft.identityModel遷移到system.identityModel版本。

回答

0

你把以下內容放在web.config的頂部嗎?

<configuration> 
    <configSections> 
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
+0

我可以在我的web配置中同時使用Microsoft.Identity模型和system.identityModel設置嗎?還是我需要將Microsoft.Identitymodel遷移到較新的System.Identitymodel以具有MachineKeySessionSecurityTokenHandler。 – Dhanuka777

+0

只是想知道如何在加載平衡的環境中使用機器密鑰對Cookie進行加密以處理Microsoft.Identity模型設置... – Dhanuka777

+0

是的,我已經添加了此設置。 – Dhanuka777