我忙着寫我自己的自定義屬性我叫MyAuthorizeAttribute操作方法,我還在忙着寫代碼,這裏是我的部分代碼:如何延長AuthorizeAttribute並檢查用戶的角色
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class MyAuthorizeAttribute : AuthorizeAttribute
{
public new Role Roles;
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (Roles != 0) // Did it this way to see what the value of Roles was
return;
// Here I am going to get a list of user roles
// I'm doing my own database calls
filterContext.Result = new HttpUnauthorizedResult();
}
}
這裏我的角色枚舉:
public enum Role
{
Administrator = 1,
SuperAdministrator = 2
}
我的操作方法:
原因爲什麼我沒有使用角色=「管理員,超級管理員」是因爲角色是硬編碼的。如果角色名稱發生變化,我不希望有100個地方可以更改。
鑑於我的方法,當它到達if(Roles!= 0)時,角色總值爲3,我將如何檢查這兩個角色是否在特定用戶的用戶角色列表中?
我在這裏正確嗎?如果不是,我會如何執行此操作?它不一定是我做它的方式。
是由以下任何兩個答案來解決問題了嗎?如果是,請接受答案。它會幫助像我一樣有同樣問題的其他人。 – 2013-11-21 12:49:35