0
想要了解如何修飾WebApi控制器類和方法。WebApi中的ClassMethod屬性
- 是否可以在類級別(而不是方法級別)添加「方法屬性」?
- 如何添加一個將enum作爲參數的屬性?例如。 [AuthorisedRoles(Roles.Developer,Roles.Tester,Roles.PM)]
在此先感謝您的任何指示。
想要了解如何修飾WebApi控制器類和方法。WebApi中的ClassMethod屬性
在此先感謝您的任何指示。
像這樣(未測試):
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]
。
這些問題與WebApi沒有多大關係,或者您的問題太模糊,以至於難以理解。你應該谷歌如何編寫/創建自定義在C#中。 https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=how%20to%20write%20custom%20attribute%20in%20c%23 – Igor