在ReturnUrl中%2f而不是斜杠

时间:2015-04-01 08:02:53

标签: javascript asp.net-mvc-4 azure model-view-controller

我有一个MVC 4网站,其登录机制如下:

我有2个页面,您必须登录才能访问它们。

如果您点击其中一个并且您尚未登录,则会在网址中添加以下内容:/ sign-in?ReturnUrl = / somepage /。但是对于其他页面,它会添加〜/ sign-in?ReturnUrl =%2fpagename,它会破坏我的重定向。

作为一个解决方案,我用pushstate修改了url并用/替换了%2f,它可以工作。但它仅适用于支持HTML5的浏览器。

我检查了web.config是否存在任何常见问题(Deny users =“*”和key =“enableSimpleMembership”value =“false”等)但是一切似乎都很好。

此外,重定向在所有浏览器上的localhost上都能正常工作,但在服务器上(azure)它只适用于Chrome和Firefox,而不适用于IE9 +。

1 个答案:

答案 0 :(得分:0)

它正在其中一个控制器中进行另一次重定向。所以最后它对URL进行了双重编码:%202fpagename%202f