我正在创建一个 MVC Web API。端点将通过自定义令牌隐藏在身份验证之后。但是,还会对某些个人端点、对管理员的访问等进行范围界定。我试图弄清楚如何创建用户,或者,当用户通过身份验证以在授权过滤器中设置他时,我可以验证他是否是管理员,或者他是否对该端点的特定资源具有读取访问权限。
最好的方法是什么,我可以在身份验证过滤器中设置身份主体,还是有更好的方法?
你可以使用 [Authorize] 属性我的朋友,
首先:将 AuthorizeAttribute 过滤器添加到全局过滤器列表中:
public static void Register(HttpConfiguration config)
{
config.Filters.Add(new AuthorizeAttribute());
}
第二:为了保护您的控制器,将过滤器作为属性添加到控制器
// Require authorization for all actions on the controller.
[Authorize]
public class ValuesController : ApiController
{
public HttpResponseMessage Get(int id) { ... }
public HttpResponseMessage Post() { ... }
}
三要保护您的 action ,将属性添加到 action 方法:
public class ValuesController : ApiController
{
public HttpResponseMessage Get() { ... }
// Require authorization for a specific action.
[Authorize]
public HttpResponseMessage Post() { ... }
}
我建议您访问此 2 链接可以帮助您更多:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句