0
我使用多个角色不工作
Authorize[Roles = "Agent")]
这一直工作正常,但现在我要检查,如果他们也是在付费用户组,我想我可能只是这样做:
Authorize[Roles = "Agent, Paid")]
但是,上述工作不正常,似乎是检查我是否在他们中的任何角色,而不是如果我在两个。我在这里做什么?
我使用多个角色不工作
Authorize[Roles = "Agent")]
这一直工作正常,但现在我要检查,如果他们也是在付费用户组,我想我可能只是这样做:
Authorize[Roles = "Agent, Paid")]
但是,上述工作不正常,似乎是检查我是否在他们中的任何角色,而不是如果我在两个。我在这里做什么?
你应该做你的自定义Authorize Attribute
public class AuthorizeMultipleAttribute : AuthorizeAttribute
{
//Authorize multiple roles
public string MultipleRoles { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (!isAuthorized)
{
return false;
}
//Logic here
//Note: Make a split on MultipleRoles, by ','
//User is in both roles => return true, else return false
}
}
DEMO:
[AuthorizeMultiple(MultipleRoles ="Agent,Paid")]
我不理解怎么办的逻辑,我知道我必须检查是否有角色中,如果没有返回false但如何我得到的角色来检查? – Michael 2014-09-04 09:19:52