I created a custom Action Filter with no problem.
But I would like to modify the Action Filter to use some of the parameters actually passed to my method.
So if I have the following method:
[HttpPost]
[MyAttribute]
public ActionResult ViewUserDetails(Guid userId)
{
// Do something
}
How can I get access to userId from within MyAttribute
? Is there a way I can directly pass it in?
You can create a custom attribute which derives from
FilterAttribute
and implementsIAuthorizationFilter
.You should also be able to get the user information in the
OnAuthorization
method by accessingfilterContext.HttpContext.User.Identity
without the need to pass the userid.You can try
OnActionExecuting
override, where you do have access to action parameters.