此VS 2012扩展旨在允许我将本地开发STS添加到我的MVC应用程序http://visualstudiogallery.msdn.microsoft.com/e21bf653-dfe1-4d81-b3d3-795cb104066e
我遵循非常简单的说明,例如右键单击项目名称,然后在菜单中选择“身份和访问”。选择您的身份提供商,然后单击确定以将设置应用于您的web.config。
我运行我的MVC 4应用程序,它立即重定向到login.aspx
我猜测MVC 4有 特殊 说明。
他们是什么?
我在哪里找到它们?
修改的
要明确我已经在visual studio 2012中创建了一个ASP.MVC 4 Internet应用程序。然后我使用了Identity&访问工具,用于添加本地开发STS以测试我的应用程序。
我在本地IIS Express上运行该站点
当我调试应用程序时,我被重定向到
本地主机:11378 / login.aspx的RETURNURL =%2F
即使我按照已经提供的建议中的建议删除了表单身份验证,也会发生这种情况。
答案 0 :(得分:9)
在我的情况下,我添加了这个
<system.web>
...
<httpModules>
...
<remove name="FormsAuthentication" />
</httpModules>
</system.web>
和这个
<system.webServer>
...
<modules>
...
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
修改的
您可能会遇到的下一个问题是
类型索赔 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' 要么 'http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider' 未提供的ClaimsIdentity。启用防伪 令牌支持与基于声明的身份验证,请验证 配置的索赔提供商正在提供这两项索赔 它生成的ClaimsIdentity实例。如果配置了声明 提供者使用不同的声明类型作为唯一标识符, 它可以通过设置静态属性来配置 AntiForgeryConfig.UniqueClaimTypeIdentifier。
将这两项声明添加到身份和访问工具中的开发STS
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider
并将此行添加到Global.asax
AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
答案 1 :(得分:3)
删除FormsAuthentication模块对我有用。
<httpModules>
...
<remove name="FormsAuthentication" />
</httpModules>
答案 2 :(得分:2)
我的本地IIS Express上的MVC4应用程序遇到了类似的问题。
事实证明,该项目已启用 Windows身份验证。禁用Windows身份验证(在项目属性窗格中 - 按F4 )修复了问题。