Estoy usando Form Authentication y enviando una solicitud Aajx al servidor para la autenticación. Basado en el resultado json, el cliente decide dónde ir y qué hacer. Esa es la razón por la que no estoy usando FormsAuthentication.RedirectFromLoginPage para no interferir con la respuesta ajax/json.Cómo establecer Request.IsAuthenticated en true cuando no se usa FormsAuthentication.RedirectFromLoginPage?
En este caso Request.IsAuthenticated devuelve false, incluso después de validar al usuario con Membership.ValidateUser. Entonces me puse la cookie utilizando
FormsAuthentication.SetAuthCookie(username, false);
Aunque el segundo parámetro, cookie persistente, es falsa, la cookie sigue siendo válido en todas las sesiones del navegador.
¿Alguna idea de cómo realizar el trabajo Request.IsAuthenticated sin utilizar FormsAuthentication.RedirectFromLoginPage?
Es posible que usted no está configurando la cookie correctamente utilizando una petición AJAX ... – Jason
Ha intentado seguir las instrucciones de MSDN en http: //msdn.microsoft.com/en-us/library/bb398896.aspx? –
Esto es particularmente problemático si está intentando generar y devolver un token anti falsificación en su solicitud de autenticación ajax (es decir, un SPA). Asp.Net generará el token para un "usuario", ya que supone que nadie está autenticado actualmente. – SeeNoWeevil