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, "Forms"); 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?