我使用的装饰[Authorize]
对项目中的所有控制器都很好。创建用户以及为该用户分配角色也非常有效。现在,在访问为该用户分配的角色时,我在调用Roles.IsUserInRole
或Authorize[(roles="ADMIN")]
时出现了一个奇怪的错误。
错误是,在与SQL Server建立连接时,页面突然变得没有响应,并且在一段时间后出现连接超时错误。
Authorize属性使用System.Web.Http
中的AuthorizeAttribute
。
我不相信这是否真的是连接超时问题,因为我在为用户创建或分配角色时没有任何问题。
啊哈,在这里我找到了问题的确切解决方案。MVC5身份验证角色失败
看看添加<remove name="RoleManager" />
是如何解决这一问题的,我完全惊呆了。非常感谢lluppes:)。虽然我有解决方案,但如果这里有人能解释这是如何工作的,那就太好了。
任何正在浪费时间搜索解决方案的人,以下是您需要添加到Web.Config文件中的完整代码。
<system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>
希望,这有帮助。