在我的web.config中,我有:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
以及:
<appSettings>
<add key="PreserveLoginUrl" value="true" />
</appSettings>
[授权]控制器或操作过滤器导致的任何重定向都无法在我的生产环境中运行。我得到一个302到一个带有〜的URL,即:
<a href="/~/Account/Login?ReturnUrl=%2FTransactions">
然而它在本地工作 - 我得到正确的302到:
<a href="/Account/Login?ReturnUrl=%2FTransactions">
我有一个解决方法 - 涉及从loginUrl中删除〜。但为什么它不适用于生产中?
其他一些信息: 本地服务器(IIS Express w VS 2012):
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
生产服务器:
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET