2015-07-10 45 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