Solo soy un recién llegado a ASP.NET MVC y no estoy seguro de cómo lograr una determinada tarea de la "manera correcta".ASP.NET MVC AuthorizeAttribute pasando valores a ActionMethod?
Esencialmente, almaceno el ID de usuario conectado en HttpContext.User.Identity y he escrito un EnhancedAuthorizeAttribute
para realizar alguna autorización personalizada.
En el método OnAuthorization
modificado, mi modelo de dominio llega a la base de datos para garantizar que la identificación de usuario actual pueda acceder a la aprobada en routeValue "BatchCode". El prototipo es:
ReviewGroup GetReviewGroupFromBatchCode(string batchCode);
Se devolverá un valor nulo si el usuario no puede acceder a la ReviewGroup y la OnAuthorization y niega el acceso.
Ahora, sé que el método de acción decorado solo se ejecutará si se supera la Autorización de autorización, pero no quiero acceder a la base de datos por segunda vez para volver a obtener el Grupo de revisión.
Estoy pensando en almacenar el Grupo de Revisión en HttpContext.Items["reviewGroup"]
y acceder a esto desde el controlador en este momento.
¿Es esta una solución factible, o estoy en el camino equivocado?
Gracias!
Bueno, no, no necesito el objeto ReviewGroup para más de una sola solicitud. Realmente, todo lo que necesito es pasar este objeto (obtenido en AuthorizeAttribute.OnAuthorization()) a ActionMethod(). –