我有一个拥有自己的身份验证系统的MVC应用程序。他使用自己的系统,每次都通过cookie解析来检查用户。
如果我有关于当前用户的信息,我可以将属性授权放在动作上。
用户类型是具有struct user {}
的一部分的枚举任何人都可以告诉我如何在我的应用程序中使用authorize属性。
答案 0 :(得分:3)
您可以在控制器级别使用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
constructor以及更精细的授权。
但是,如果默认AuthroizeAttribute
不起作用,您可以通过继承AuthorizeAttribute
来自行推广自己:
public CustomAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
// Auhtorization logic here
}
}