Я пытаюсь создать систему авторизации, которая позволяет мне использовать различные данные из типа Controllers Type и Action MethodInfo, чтобы проверить, имеет ли пользователь права доступа к этому разделу моей системы.Тип и действие контроллера MVC4 от AuthorizeAttribute AuthorizeCore
public class NewAuth : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var Type = ControllerTypeHere;
var MethodInfo = ActionMethodInfoHere;
}
}
Есть ли способ получить тип и информация о методе действия или контроллер, который в настоящее время пытается получить доступ?
Я могу предоставить любую другую информацию, если необходимо.
Это работает фантастически! Большое спасибо. – JakeJ
Теперь я не знаю, вызвана ли моя ситуация чем-то другим, но если у кого-то есть проблемы с этим решением - попробуйте назначить частные поля перед вызовом 'base.OnAuthorization (filterContext);', я испытал, что иначе 'AuthorizeCore' будет генерировать NullException, потому что они не были установлены вовремя. В любом случае +1 для этого решения! –
Да, это на самом деле назад; base.OnAuthorization вызывает AuthorizeCore, поэтому в OnAuthorization вы должны выполнить свою настройку прежде, чем вызвать базовую версию –