我刚刚在 Azure 上发布了带有 Identity 和 OWIN 授权的新 ASP.NET MVC 网站。前端工作得很好,但后端有问题。我在管理控制器中使用 [Authorize] 属性来检查用户是否具有访问它所需的角色,如下所示:
[Authorize(Roles = "Admin")]
在本地主机上,即使使用远程 Azure SQL 数据库,它也可以正常工作。
但在 Azure 上,任何具有授权属性和角色的控制器都会加载几分钟,然后抛出:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供商:SQL 网络接口,错误:26 - 定位指定的服务器/实例时出错)
没有角色的授权属性效果很好。
将此代码添加到 web.config 可以解决该问题。
<system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>
我知道现在已经晚了,但我有一个真正的答案给你。我想无论如何我都会分享它,因为我自己也浪费了几个小时。
信息发现于这个帖子 http://blog.luppes.com/2013/12/08/mvc5-authentication-roles-failure/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)