【问题标题】:User.IsInRole result is not rightUser.IsInRole 结果不正确
【发布时间】:2019-05-06 10:31:07
【问题描述】:

我认为这行代码 @User.IsInRole("employee") 登录用户是员工角色,但此方法返回 false。 但它适用于管理员角色 @User.IsInRole("admin") 有什么问题,我该如何解决?

【问题讨论】:

  • 您使用的是什么身份验证方法?你检查数据库表中的角色映射了吗?

标签: c# asp.net-mvc razor


【解决方案1】:

我在我的代码中添加了this,它成功了! this.User.IsInRole("employee")

【讨论】:

    【解决方案2】:

    确保 AspNetUserRoles 中存在角色为“employee”的用户。

    你可以尝试一个简单的查询来确认用户是否真的在角色中

      Select roles.UserId,rolename.Name from [XXX].[dbo].[AspNetUserRoles] as roles   
      inner join [XXX].[dbo].[AspNetRoles] as rolename on  roles.UserId = 'XXXXXX' 
    
    

    如果查询运行并且您没有看到列出的“员工”角色,这将是原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      相关资源
      最近更新 更多