Потеря 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>

0 ответов

Другие вопросы по тегам