Asp.net mvc MVC在超时后将授权用户重定向到错误的url

Asp.net mvc MVC在超时后将授权用户重定向到错误的url,asp.net-mvc,security,forms-authentication,Asp.net Mvc,Security,Forms Authentication,我已将我的MVC项目发布到IIS 6服务器。在MVCapp应用程序下运行。该web项目的url为:www.domain.com/MVCapp/ 我使用表单登录进行身份验证,发布后出现问题 web.config如下所示: <authentication mode="Forms"> <forms name="CTWebCookie" loginUrl="~/Account/Login" defaultUrl="~/Home/Index" slidingExpiration="tru

我已将我的MVC项目发布到IIS 6服务器。在MVCapp应用程序下运行。该web项目的url为:www.domain.com/MVCapp/

我使用表单登录进行身份验证,发布后出现问题

web.config如下所示:

<authentication mode="Forms">
<forms name="CTWebCookie" loginUrl="~/Account/Login" defaultUrl="~/Home/Index" slidingExpiration="true" protection="All" timeout="20"/>
</authentication> 
…一切正常,用户被重定向到www.domain.com/MVCapp/Account/Login

但是,当身份验证超时时,在下一页请求时,用户将被重定向到www.domain.com/Account/Login。未路由应用程序根目录,url指向IIS根目录

我如何使应用程序在授权超时后解析正确的url?为什么它在程序性注销时有效,而不是在自动注销时有效


请注意。

ASP.NET MVC项目模板使用
~/Account/Login
。检查您的web.config:

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" ... />
</authentication>

更新:

IIS根目录(www.domain.com/)上是否有任何应用程序?如果是,请尝试从IIS中删除此应用。您也可以在站点中添加此行。主控:

 <%= System.Web.Security.FormsAuthentication.LoginUrl %>

查看您的loginUrl是否为/MVCapp/Account/Login或其他任何内容

希望这能有所帮助

别担心,算了吧(愚蠢的错误),谢谢你的帮助


问题是登录页面上的javascript在异步请求的情况下将页面重新加载为target.top。javascript中的url没有正确解析。

我的配置设置没有发布。很抱歉。我现在已经编辑了我的帖子,正如你看到的,我使用了与模板相同的url。你能提供你的帐户吗?登录代码?很抱歉要求澄清,但你是说当授权超时时,你会被重定向到域的根目录(www.mydomain.com),而不是登录页面(www.mydomain.com/Account/Login),对吗?授权超时时,您希望用户看到的“正确”url是什么?
 <%= System.Web.Security.FormsAuthentication.LoginUrl %>