Asp.net mvc 4 动态填充authorize属性

Asp.net mvc 4 动态填充authorize属性,asp.net-mvc-4,Asp.net Mvc 4,我使用的是windows身份验证,没有角色设置,我只是在一个表中存储了一些管理员名称,我想结合authorize属性检查这些名称。我没有太多使用此功能的经验,但我看到的唯一示例是下面这样的硬编码值,因此我不确定此功能是否可用或是否需要添加它 [Authorize(Users = @"domain\user1, domain\user2")] 任何建议都将不胜感激。最后我自己添加了这个,非常容易做到 public class AuthorizeUser : AuthorizeAttribute

我使用的是windows身份验证,没有角色设置,我只是在一个表中存储了一些管理员名称,我想结合authorize属性检查这些名称。我没有太多使用此功能的经验,但我看到的唯一示例是下面这样的硬编码值,因此我不确定此功能是否可用或是否需要添加它

[Authorize(Users = @"domain\user1, domain\user2")]

任何建议都将不胜感激。

最后我自己添加了这个,非常容易做到

public class AuthorizeUser : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        string[] admins = 
        //get user names

        if (admins.Contains(httpContext.User.Identity.Name))
            return true;

        return false;
    }
}
那就用

[AuthorizeUser]

您不能使用吗?很抱歉,我不完全理解此属性的用途是什么?这样做不是简单地使用
[Authorize]
属性吗?我的意思是,authorize属性确保某个用户已登录,您只是发现某个用户等于同一个用户?这有点多余。@Lordbalmon如果你把这个答案和这个问题结合起来阅读,你会发现我在把它和一个自定义的用户列表进行比较。我遗漏了分配管理员的位置,但在我的例子中,它只是一个表中用户的自定义列表。总之,我要做的不仅仅是检查用户是否登录,我还要根据自定义的管理员列表检查他们。哦,对不起,我也不理解这一部分,因为您可以使用
授权(Roles=“Admin,”)
,我想用户的要求只是不同而已。@Lordbalmon您是对的,如果我一直在使用角色,我可以在没有自定义属性的情况下获得相同的结果。