Потеря WIF Claim с балансировкой нагрузки сервера
У меня есть проект MVC4 C#, который использует аутентификацию WIF. У меня проблема на сервере с балансировкой нагрузки. Я получаю сообщение об ошибке при доступе к одному из утверждений, когда сервер за балансировщиком нагрузки изменяется.
Это странно, потому что я не теряю тот факт, что я заверен. Это означает, что мой файл cookie попадает на новый сервер, но по какой-то причине претензия отсутствует.
Я добавляю претензию так:
((ClaimsIdentity)HttpContext.User.Identity).AddClaim(new Claim("TheClaimName", "TheClaimValue"));
Я думаю, что, возможно, само требование не сохраняется в cookie. Как мне "сохранить" это?
Вот мой конфигурационный файл.
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="uri:someValue" />
</audienceUris>
<certificateValidation certificateValidationMode="None" />
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<add thumbprint="AAAA3A088B9D2010333890138D64C2E66169DEEE" />
</trustedIssuers>
</issuerNameRegistry>
<securityTokenHandlers>
<add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
<system.identityModel.services>
<federationConfiguration >
<cookieHandler requireSsl="true" name=".myCookieName" hideFromScript="true" path="/" domain="myDomain.com"/>
<wsFederation passiveRedirectEnabled="true" issuer="https://login.server.com/issue/wsfed" realm="uri:someValue" requireHttps="true" />
</federationConfiguration>
</system.identityModel.services>