我有一个MVC4应用程序配置为使用Identity and Access VS扩展使用基于声明的身份验证,该扩展在web.config中创建system.identityModel和system.identityModel.services部分。
对于授权,我使用的是标准属性,例如
[Authorize(Roles = "Admin")]
角色应该来自角色声明(http://schemas.microsoft.com/ws/2008/06/identity/claims/role),而不是来自成员资格数据库。
此解决方案在开始时实际上运行良好。但是,当我将其复制到其他计算机时,如果命中了Authorize属性,则会出现SQL连接错误。
我的理解是它尝试首先连接到本地成员资格数据库来检查角色。我可以告诉MVC首先检查索赔中的角色吗?
答案 0 :(得分:3)
由于没有答案我决定实施我的解决方案,如下所述: http://fczaja.blogspot.com/2013/12/claims-based-authorization-in-mvc4.html