¿Cómo puedo crear un AuthorizeAttribute personalizado que especifique un mensaje en forma de un parámetro de cadena y luego lo transfiera a la página de inicio de sesión?MVC 3 AuthorizeAttribute Redirigir con mensaje personalizado
Por ejemplo, lo ideal sería que estaría bien para hacer esto:
[Authorize(Message = "Access to the blah blah function requires login. Please login or create an account")]
public ActionResult SomeAction()
{
return View();
}
Luego, en la acción de acceso, lo que podía hacer algo como esto:
public ActionResult Login(string message = "")
{
ViewData.Message = message;
return View();
}
Y finalmente en la vista de lo puede hacer esto:
@if (!String.IsNullOrEmpty(ViewData.Message))
{
<div class="message">@ViewData.Message</div>
}
<form> blah blah </form>
Básicamente quiero pasar un mensaje personalizado a la página de inicio de sesión para que pueda mostrar un mensaje específico a lo que el usuario está tratando de acceder en ese momento en particular.
Qué pasaría si quisiera volver a dirigir a un parámetros específicos/enrutamiento Vista/Controlador, ¿cómo sería? – ClayKaboom
@ClayKaboom Ver esta publicación http://stackoverflow.com/questions/2472578/is-it-possible-to-use-redirecttoaction-inside-a-custom-authorizeattribute-clas – user1477388
Tenga en cuenta que probablemente no desee incluir el ".cshtml" en la propiedad ViewName. Cuando lo hice, busqué Login.cshtml.cshtml. – AaronSieb