我有一个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 +。
答案 0 :(得分:0)
它正在其中一个控制器中进行另一次重定向。所以最后它对URL进行了双重编码:%202fpagename%202f
。