MS Identity and Access Tool MVC 4

时间:2012-10-11 04:31:02

标签: asp.net-mvc-4 visual-studio-2012 wif claims-based-identity

此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

即使我按照已经提供的建议中的建议删除了表单身份验证,也会发生这种情况。

3 个答案:

答案 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;

This article helped me

答案 1 :(得分:3)

删除FormsAuthentication模块对我有用。

 <httpModules>
    ...
    <remove name="FormsAuthentication" />
 </httpModules>

答案 2 :(得分:2)

我的本​​地IIS Express上的MVC4应用程序遇到了类似的问题。

事实证明,该项目已启用 Windows身份验证。禁用Windows身份验证(在项目属性窗格中 - 按F4 )修复了问题。