Dotnetopenauth 身份验证操作无法访问OpenId ASP.Net MVC4

Dotnetopenauth 身份验证操作无法访问OpenId ASP.Net MVC4,dotnetopenauth,asp.net-mvc-4,Dotnetopenauth,Asp.net Mvc 4,我举这个例子: 我启动了一个新的MVC4项目,并按照上面文章中的建议添加了OpenId代码 AccountController中的Authenticate操作上的断点不可访问 点击Google或Yahoo会将我带到这个空白页面:黑暗中拍摄:您的web.config文件中是否有适当的绑定重定向,以便MVC 1-3重定向到MVC 4 <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

我举这个例子:

我启动了一个新的MVC4项目,并按照上面文章中的建议添加了OpenId代码

AccountController中的Authenticate操作上的断点不可访问


点击Google或Yahoo会将我带到这个空白页面:

黑暗中拍摄:您的web.config文件中是否有适当的绑定重定向,以便MVC 1-3重定向到MVC 4

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>


删除控制器上的Authorize属性的另一种方法是将AllowAnonymous属性添加到操作中,这为我解决了这个问题。

是的,我知道,项目是开箱即用的。全新的项目,只添加了OpenId所需的文件。我尝试在MVC3项目和我的MVC4项目之间切换文件(JS、CSS、_布局和web.config),仍然是相同的行为。在新的MVC3项目中可以看到相同的行为。这让我相信从上面的链接下载的示例项目中有一些不同的设置。哪一个呢?我使用WINMerge将我的MVC3项目与示例进行了比较,但找不到任何可能导致这种奇怪行为的不同原因。'code'[Authorize]公共类AccountController:Controller{'code'//删除控制器类上的Authorize属性可以使其正常工作。删除Authorize属性的后果是什么?