【发布时间】:2016-07-10 20:47:01
【问题描述】:
我已经使用 OWIN 在我的 Web API RESTfull 服务中实现了基于角色的授权。
根据用户的角色隐藏菜单项或按钮的最佳方法是什么?我想隐藏用户无权访问的项目。
更新
我想知道我的控制器的最佳做法是什么。
这是我想要的一个示例,但我认为这不是正确的方法。其次,路由失败是因为它无法区分这两个动作。
[Authorize(Roles = "SomeRole")]
public class FooController : ApiController
{
[HttpGet]
public string HelloWorld()
{
return "Hello world - you are authorized";
}
[HttpGet]
[Route("hasaccess")]
[AllowAnonymous]
public bool HasAccess()
{
return User.IsInRole("SomeRole");
}
}
http://localhost:8080/api/foo/ --> 调用 HelloWorld()
http://localhost:8080/api/foo/hasaccess --> 调用 HasAccess()
【问题讨论】:
标签: angularjs html asp.net-web-api