如何检查 MVC 5 标识中的用户角色



我使用自定义角色创建 EF 代码优先数据库标识系统。当我注册一个用户时,我把他放在一个角色中,在数据库中我可以看到它适用于AspNetUserRoles表。

但是当我尝试使用 User.IsInRole("admin") 检查用户角色时,即它总是返回 false(我尝试使用低、高、一直大小写)。我需要在网络配置中放一些东西吗?或者我在这里缺少什么?这是我第一次使用这个新的身份系统进行开发,我认为这有点令人困惑。

在我的即时窗口中:

User.Identity.Name
"teste06"
User.Identity.IsAuthenticated
true
User.IsInRole("admin")
A first chance exception of type 'System.Data.SqlClient.SqlException' occurred in     System.Data.dll

例外:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及 SQL Server 是否配置为允许远程连接。(提供程序 SQL 网络接口,错误: 26 - 查找指定的服务器/实例时出错)

似乎角色

管理器已激活并且它正在尝试创建一个 SQL 快速数据库为了验证角色,我遇到了同样的问题,我通过将此代码添加到我的web.config file

<system.webServer>
  <modules>
    <remove name="RoleManager" />
  </modules>
</system.webServer>

你必须确保在你的启动类中有这个

app.UseSignInCookies();

另外,我猜你的DbContext类派生自IdentityDbContext<ApplicationUser>IdentityDbContext

如果没有,请确保这样做。

查看本文以供参考。

与您的问题相关的类似帖子可以在这里找到

相关内容

  • 没有找到相关文章

最新更新