He leídoredirigida a otra página cuando el usuario no está autorizado en MVC3 asp.net
How to easily redirect if not authenticated in MVC 3? y Redirect to AccessDenied page when user is not authorized pero el enlace de una respuesta (significa http://wekeroad.com/2008/03/12/aspnet-mvc-securing-your-controller-actions/) no funciona.
pongo
[Authorize(Users = "test")]
public class RestrictedPageController: Controller
{
public ActionResult Index()
{
return View();
}
....
}
Y en mi web.config, ya tengo
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
en consecuencia con https://stackoverflow.com/a/6770583/998696
Pero cuando quiero acceder /RestrictedPage/Index
, debe redirigir a mí otra página (desde otro controlador). En lugar de esto, aparece el error como:
Server Error in '/Project' Application.
The view 'LogOn' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Account/LogOn.aspx
~/Views/Account/LogOn.ascx
~/Views/Shared/LogOn.aspx
~/Views/Shared/LogOn.ascx
~/Views/Account/LogOn.cshtml
~/Views/Account/LogOn.vbhtml
~/Views/Shared/LogOn.cshtml
~/Views/Shared/LogOn.vbhtml
Antes de inicio de sesión, la forma Logon
página aparece correctamente, pero aparece el error anterior cuando se accede a la página /RestrictedPage/Index
. Puedo iniciar sesión con un usuario diferente autorizado para acceder a la página RestrictedPage
.
¿Dónde está mi error y cómo configurar la redirección?
Upvote y aceptaron! Un comentario: debe utilizar 'protected override void HandleUnauthorizedRequest (AuthorizationContext filterContext) {' para anular el método; de lo contrario, no funcionará –
Gracias por señalar que ... ¡fijo a la vez! – VJAI