Pregunta

escribí una clase de extensión para personalizar mi AuthorizeAttribute para mis métodos de acción y me gustaría ser capaz de inyectar mensajes en mi punto de vista cuando se cumple una determinada condición. I "m con el siguiente código para cargar una visión compartida cuando un usuario no está autorizado pero no es la adición de mi mensaje a mi colección ViewData. ¿Alguna idea?

public override void OnAuthorization(AuthorizationContext filterContext)
{
    base.OnAuthorization(filterContext);
    if (IsNotAuthorized)
    {
        filterContext.Result = new ViewResult { ViewName = "NotAuthorized" };
        filterContext.Controller.ViewData["Message"] = "Go Away";
    }
}

También he intentado configurar mi ViewData [ "mensaje"] elemento de la colección encima de la llamada para cambiar la vista sin éxito.

¿Fue útil?

Solución

¿Has probado;

filterContext.Result = new RedirectResult("Home/Index");

No sé cómo agregar el ViewData pero esto va a llegar al controlador no autorizado al menos.

Voy a seguir buscando código para agregar para ver los datos en la media hora o hasta que alguien envía a él.

editar

Esto puede ayudar;

Cambiar los valores ActionExecutingContext en Filtro personalizado Atributo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top