想要获得一些关于能够装饰WebApi控制器类和方法的建议。
提前感谢任何指示。
答案 0 :(得分:0)
像这样(未经测试):
public class TestController : ApiController
{
//[Authorize(Roles = "dev, user")]
[EnumRolesAuthorise(UserRoles.Developer, UserRoles.Testers, UserRoles.PM)]
public string Get()
{
throw new NotImplementedException();
}
}
public class EnumRolesAuthoriseAttribute : AuthorizeAttribute
{
public EnumRolesAuthoriseAttribute(params UserRoles[] roles)
{
Roles = string.Join(",", roles.Select(r => Enum.GetName(typeof (UserRoles), r)));
}
}
public enum UserRoles
{
Developer,
Testers,
PM
}
我相信您可以像操作[EnumRolesAuthorise]
一样轻松地将[Authorize]
应用于控制器。