Una vez que el usuario inicie sesión en mi sitio donde utilizo la Autenticación de formularios, ¿cómo puedo detener al usuario para que inicie sesión? & Registrar página si ya ha iniciado sesión & registrarse.¿Cómo detener al usuario en Entrar/Registrarse y otras páginas no autenticadas en la aplicación MVC3?
6
A
Respuesta
5
Dos maneras "de la parte superior de mi cabeza":
1 - personalizados Action Filter
que redirige al usuario a la página si se registran en
public class RedirectAuthenticatedRequests : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(filterContext.HttpContext.Request.IsAuthenticated) {
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(new {
controller = "SomeController",
action = "SomeAction"
}
));
}
base.OnActionExecuting(filterContext);
}
}
2 - simple. verifique en el método de acción login
si el usuario está conectado.
if(Request.IsAuthenticated) return RedirectToAction("SomeOtherView");
5
El camino más fácil es comprobar en el método controlador (login/registro) si el usuario es autenticado, y si es redirigir al usuario a la página que desea:
Algo como esto para la página de inicio de sesión (mismo con Registro):
//
// GET: /Login/Index
public ActionResult Index()
{
if(User.Identity.IsAuthenticated){
//redirect to some other page
return RedirectToRoute("Home", "Index");
}
return View();
}
0
puede comprobar la propiedad User.Identity.IsAuthenticated y reorientar de manera apropiada.
Cuestiones relacionadas
- 1. Navaja MVC3: páginas vencidas
- 2. Caché MVC3 RenderPartial en varias páginas
- 3. PHP generando páginas, pero no devolviéndolas al usuario de inmediato
- 4. páginas de error personalizadas en diferentes áreas en ASP.NET MvC3
- 5. C# leyendo la entrada del usuario sin detener una aplicación
- 6. FBConnect: ¿Por qué se muestra en algunas páginas y no en otras?
- 7. ¿Cómo salir de una aplicación ASP.NET correctamente al detener la depuración en VS 2010?
- 8. Cómo detener una aplicación desde la apertura
- 9. ¿Cómo puedo compartir sesiones autenticadas basadas en .NET (C#) entre formularios web y aplicaciones MVC2?
- 10. Convertir la aplicación Legacy ASP.NET a MVC3 y HTML5
- 11. ¿Cómo detener una aplicación en Heroku?
- 12. setAutoGrow: otras páginas deben "contraerse" nuevamente
- 13. MVC3 páginas de error personalizadas dan resultado en blanco
- 14. Gestión de roles en MVC3
- 15. Obtener el nombre de usuario registrado en la aplicación de intranet ASP.NET MVC3
- 16. Detener la aplicación web nativa al volver a cargarse al abrir en iOS
- 17. Detener todos los servicios iniciados en la aplicación Cerrar/Salir
- 18. Codeigniter Session Data no disponible en otras páginas después del inicio de sesión
- 19. ASP.NET MVC3 Detener la ejecución de la acción/controlador en la costumbre AuthorizeAttribute
- 20. controles de usuario y JavaScript y páginas principales
- 21. Autorización basada en permisos en ASP.NET MVC3
- 22. DataTables jQuery - Fila clic no se registra en otras páginas distintas de primera
- 23. Cómo informarle al usuario que necesita instalar otra aplicación de la que depende mi aplicación
- 24. ¿Cómo puedo alojar mi aplicación MVC3 en .net 3.5?
- 25. CocoaLumberjack y NSLog en otras bibliotecas
- 26. ¿Cuáles podrían ser las razones por las que una aplicación WPF fijaría la CPU y bloquearía la aplicación en algunas computadoras pero no en otras?
- 27. Mejores prácticas/diseño para un formulario de varias páginas en .NET MVC3
- 28. ¿Cómo implementar Google reCaptcha en una aplicación MVC3?
- 29. ¿Malloc crea perezosamente las páginas de respaldo para una asignación en Linux (y otras plataformas)?
- 30. Varias ventanas o "páginas" en una aplicación
I'd crear un Atributo derivado [AuthorizeAttribute] de hecho. – Rhapsody
@Rhapsody ¿Puedes explicarnos cuáles son los pasos para tener ese Atributo? – updev
@Xander te refieres a ActionFilter en Global.aspx? – updev