Razor预览版和Razor Beta之间的表单身份验证有什么区别?

4

我正在尝试使用Razor(从Preview版本)升级一个MVC项目到Beta,并且现在遇到了奇怪的问题,即当有人请求需要授权的操作时,Razor不再跳转到我的登录视图。

我的web.config文件中有以下内容:

  <authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" />
  </authentication>

但是每当触发带有Authorize属性的操作时,浏览器都会重定向到“Account/Login”页面 - 注意是Log*in*而不是Log*On*。 有人知道如何在MVC 3 Beta中解决这个问题吗?
3个回答

10

这是Beta版中已知的一个错误:发行说明:章节已知问题

已知问题会导致表单身份验证始终将未经身份验证的用户重定向到 /Account/Login,忽略在 Web.config 中使用的表单身份验证设置。解决方法是添加以下应用程序设置。

<add key="autoFormsAuthentication" value="false" />

3

在应用程序的 Web.config 文件的 <configuration> 部分中添加以下内容:

<appSettings>
  <add key="enableSimpleMembership" value="false" />
</appSettings>

我已经将其设置为false(在转换为mvc 3 beta应用程序的笔记中),不会影响它。 - Jason Haley

1
你只需要禁用authentication mode="Forms"即可。
我移除了认证部分,它开始能够工作了。
<!--
 <authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" />
  </authentication>
-->

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接