我使用自定义角色创建EF代码第一个数据库身份系统。当我注册一个用户我把他放在一个角色,在数据库中,我可以看到它在AspNetUserRoles表上工作。
但是当我尝试使用User.IsInRole(“admin”)检查用户角色时,即它总是返回false(我尝试使用low,upper,一路情况)。 我需要在webconfig中添加一些东西吗?或者我在这里失踪了什么?这是我第一次使用这个新的身份系统进行开发,我认为这有点混乱。
在我眼前的窗口:
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 - 查找指定的服务器/实例时出错)
答案 0 :(得分:2)
似乎角色管理器已激活 它正在尝试创建一个SQL Express数据库 为了验证角色,我有同样的问题,我通过将此代码添加到我的解决方案 web.config文件
<system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>
答案 1 :(得分:1)