Cómo implementar de entrada alternativo para la autenticación de formularios de ASP.NET?
-
12-10-2019 - |
Pregunta
Tengo un sitio web existente mediante la autenticación de formularios con el proveedor de SQL. Ahora estoy tratando de integrarse con otro sitio web y utilizar su mecanismo de autenticación. Ya soy capaz de validar un usuario y tratando de inicio de sesión en silencio al usuario para que mi solicitud. Aquí está el código de inicio de sesión "silenciosa":
if (user != null) // logged in!
{
IPrincipal principal = new MyPrincipal(user);
FormsAuthentication.SetAuthCookie(user.ScreenName, true);
HttpContext.Current.User = principal;
Response.Redirect("~/Default.aspx");
}
y funciona con la excepción de que la autenticación de formularios anula el HttpContext.Current.User
por el tiempo que hago "default.aspx". ¿Hay alguna manera a los proveedores de las formas de derivación de rol y de miembros?
Solución
Si está utilizando un director de encargo, la directora personalizado debe ser establecida en cada petición al servidor web; no se persistió. Adición de código para volver a cargar en global.asax que resolverlo. Otros han creado un módulo HTTP para hacer esto también.
HTH.