Member 12000047 Ответов: 0

Federatedauthentication.сессия...


Я работаю над SAML 2.0. У меня включена аутентификация форм в IDP. При запросе проверки подлинности производится из СП с IDP, запрос проходит проверку подлинности с помощью проверки подлинности форм в ВПЛ.

IsAuthenticated имеет значение false в SP, когда я использую FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie () для записи файла cookie, но то же самое имеет значение true, когда я использую FormsAuthentication.SetAuthCookie () для записи файла cookie.

Что я уже пробовал:

Ниже приведен код, который устанавливает файл cookie


<pre lang="C#"> if (Membership.ValidateUser(model.UserName, model.Password))
      { 
        FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(GetSecurityTokenForFormsAuthentication(model.UserName));
      }

    private static SessionSecurityToken GetSecurityTokenForFormsAuthentication(string user)
            {
                var claims = new[]
                            {                            
                                new Claim(ClaimTypes.Name, user)
                };
    
                //TODO: Fetch roles from database based on appID
                var identity = new ClaimsIdentity(claims, &quot;Forms&quot;);
                var principal = new ClaimsPrincipal(identity);
                return new SessionSecurityToken(principal);
            }</pre>



После установки куки-файла ответ отправляется обратно в SP, но в контексте.IsAuthenticated является ложным в SP.

Тогда как если я установлю файл cookie с помощью следующего кода и отправлю ответ в SP, то контекст.IsAuthenticated имеет значение true в SP

<pre lang="C#"> if (Membership.ValidateUser(model.UserName, model.Password))
            { 
              FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
            }</pre>



Может ли кто-нибудь сказать мне, почему контекст.IsAuthenticated имеет значение false, когда файл cookie устанавливается с помощью FederatedAuthentication.SessionAuthenticationModule.Пишет sessiontokentocookie?

0 Ответов