0

自定义成员资格表

自定义会员数据

我对 MVC 很陌生。我正在做一个自定义会员 asp.net MVC4。以上是我创建的表格和数据。我尝试覆盖 isinrole 方法,但它不起作用。下面是示例代码,我不知道在哪里编辑它。

       public override bool IsUserInRole(string userName, string roleName)
    {
        User user = repository.GetUser(userName);
        Role role = repository.GetRole(roleName);

        if (!repository.UserExists(user))
            return false;
        if (!repository.RoleExists(role))
            return false;

        return user.Name == role.Name;
    }

现在我需要从 UserInRole 表中获取用户的角色列表,但该表不可见。我必须检查用户角色是否匹配。User.IsInRole("Administrator")希望任何人都可以指导我。提前谢谢你。

4

1 回答 1

0

它不起作用,因为您正在将角色名称与用户名(“a”!=“Administrator”)进行比较。你需要更多这样的东西。

public override bool IsUserInRole(string userName, string roleName)
{
    User user = repository.GetUser(userName);
    Role role = repository.GetRole(roleName);

    if (!repository.UserExists(user))
        return false;
    if (!repository.RoleExists(role))
        return false;

    return user.Role.ID == role.ID;
}

它可能会有所不同,具体取决于您的实体的设置方式。

于 2013-03-10T11:22:32.793 回答