gpt4 book ai didi

asp.net-mvc-3 - 站点重定向到服务器上的错误登录页面,但在本地工作正常

转载 作者:行者123 更新时间:2023-12-02 06:15:44 25 4
gpt4 key购买 nike

所以,我正在开发一个 MVC3 网站。我正在本地开发,然后构建服务器在 checkin 时运行,如果构建有效,则将其推送到开发服务器。

我的本​​地机器是 Win7,VS2010 SP1,使用 IIS Express 作为本地 Web 服务器。服务器是Win2k8 Server R2。在我的本地机器上,安装了 MVC3 软件包,在服务器上,我将 MVC3 库与应用程序捆绑在一起,因此我不必将它们安装在机器上。

这就是奇怪的地方。路由默认设置为 HomeController,它标有 [Authorize] 属性,因此未经身份验证的用户首先应该看到的是登录页面。我使用表单例份验证进行了相当简单的设置:

<authentication mode="Forms">
<forms loginUrl="~/Auth/LogIn" timeout="2880" />
</authentication>

与默认值唯一不同的是它重定向到的 URL。现在,这在 IIS Express 中完全可以正常工作。所以我 promise ,它构建,并插入开发。 IIS 管理器中的配置编辑器确认服务器上的 loginUrl 仍然是 ~/Auth/LogIn。这也直接在 web.config 中得到确认。但是,当我尝试访问该网站时,我被重定向到 /Account/Login?ReturnUrl=%2f。我知道应用程序运行良好,就像我手动转到 /Auth/Login/ 一样,我得到了登录页面,我可以登录并使用该网站。

我以前从未见过这种行为,有其他人遇到过吗?您是如何解决的?

最佳答案

我们在 MVC 3 的 RTM 版本中遇到了同样的问题。Varun 的回答对我来说有点难以理解,但最终找到了解决方案。为了让其他人清楚这一点:

在您的 Web.config 文件中, 部分中可能已经有类似的内容:

<authentication mode="Forms">
<forms loginUrl="Login/Login" defaultUrl="Home"/>
</authentication>

虽然这在 Windows 7 开发计算机上按预期工作,但由于某种原因,它在 Windows 2008 R2 服务器上不起作用(某些组件的不同版本?我不知道)。为了做到这一点,我必须将此行添加到 部分:

<add key="loginUrl" value="Login/Login" />

关于asp.net-mvc-3 - 站点重定向到服务器上的错误登录页面,但在本地工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com