MS Identity and Access Tool MVC 4

Pet*_*ter 5 claims-based-identity wif asp.net-mvc-4 visual-studio-2012

这个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&Access Tool添加本地开发STS来测试我的应用程序.

我在本地IIS Express上运行该站点

当我调试应用程序时,我被重定向到

本地主机:11378/login.aspx的RETURNURL =%2F

即使我按照已经给出的建议中的建议删除了表单身份验

Pet*_*ter 9

在我的情况下,我添加了这个

<system.web>
...
<httpModules>
...
    <remove name="FormsAuthentication" />
</httpModules>
</system.web>
Run Code Online (Sandbox Code Playgroud)

还有这个

<system.webServer>
...
   <modules>
   ...
      <remove name="FormsAuthentication" />
   </modules>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

编辑

您可能会遇到的下一个问题是这个问题

" 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;
Run Code Online (Sandbox Code Playgroud)

这篇文章帮助了我