Como RPM1984 señaló, que no tiene que redirigir al usuario a la URL especificada después de iniciar sesión.
Si es imprescindible que se quita el parámetro de cadena de consulta ReturnUrl
hay un par de opciones. Probablemente, lo más fácil sea que en su página web de inicio de sesión/controlador verifique la existencia de un parámetro ReturnUrl
en la colección Request.QueryStrings
. Si existe, puede hacer un redireccionamiento a la página de inicio de sesión, pero sin el ReturnUrl
.
Otra opción sería crear una implementación personalizada para el FormsAuthenticationModule
, que es la clase que maneja la autenticación de un usuario según su boleta de autenticación y es responsable de redirigir a los usuarios no autorizados a la página de inicio de sesión. Desafortunadamente, los métodos de la clase FormsAuthenticationModule
no son virtuales, por lo que no se puede crear una clase derivada y anular los métodos necesarios, pero la buena noticia es que la clase es bastante simple: tal vez 100-200 líneas de código en total y el uso Reflector puede crear rápidamente su propia clase personalizada FormsAuthenticationModule
. Si sigue esta ruta (que no recomendaría), todo lo que tendría que hacer sería sacar el código en el método OnLeave
que marca el parámetro ReturnUrl
. (Además de modificar esta clase, también necesitaría configurar su archivo Web.config para que su aplicación use su clase personalizada FormsAuthenticationModule
en lugar de la de .NET Framework.)
Happy Programming!
FormsAuthentication.SetAuthCookie es lo que estoy haciendo now.I derecha sólo quieren quitarlo de la barra de direcciones. –
Luego, mi primer comentario es: es mejor que no utilices la Autenticación de formularios. No hay una manera fácil de hacer esto (que yo sepa). Recordando CUALQUIER página puede redirigir a la página de inicio de sesión (y ASP.NET hace esto). La única forma en que puedo pensar es conectarme a un evento Global.asax y volver a escribir la URL. ¿Por qué te importa si la URL está allí? – RPM1984
y ese comentario contradice su comentario "Porque estoy intentando redirigir al usuario a una página estática después de iniciar sesión para hacer algunas selecciones". El ReturnURL no le impedirá hacer su propio redireccionamiento después de iniciar sesión, A MENOS QUE esté usando RedirectFromLoginPage, que usted ha dicho que no es. Entonces no sé cuál es tu problema. ¿Cómo es que ReturnUrl le impide hacer un redireccionamiento? – RPM1984