#c# #asp.net-mvc-3 #authentication
#c# #asp.net-mvc-3 #аутентификация
Вопрос:
у меня есть приложение MVC, у которого есть своя система аутентификации. он использовал их собственную систему и каждый раз проверял пользователя, анализируя cookie.
как я могу поместить атрибут Authorize в действие везде, где у меня есть информация о текущем пользователе.
тип пользователя — это перечисление, у которого есть часть структуры user {}
кто-нибудь может показать мне, как я могу использовать атрибут авторизации в моем приложении.
Ответ №1:
Вы можете использовать AuthroizeAttribute
либо на уровне контроллера:
[Authorize]
public class HomeController : Controller
{
// Now all actions require authorization
}
или уровень действия:
public class HomeController : Controller
{
public ActionResult Index()
{
// Does not require authorization
}
[Authorize]
public ActionResult PrivateThing()
{
// requires authorization
}
}
Вы также можете передавать имена пользователей, роли и т.д. в AuthorizeAttribute
конструктор Для более детальной авторизации.
Однако, если значение по умолчанию AuthroizeAttribute
у вас не работает, вы всегда можете создать свое собственное, унаследовав от AuthorizeAttribute
:
public CustomAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
// Auhtorization logic here
}
}