我的iis文件夹结构如下
Default Web Site---->online and Accessing with www.sitename.com/online
Default Web Site---->trade and Accessing with www.sitename.com/trade
Default Web Site---->private and Accessing with www.sitename.com/private登录页面位于"Default Web Site->trade/login.aspx“.When用户输入www.sitename.com/online或www.sitename.com/private或www.sitename.com/trade将重定向到url www.sitename.com/trade/Login.aspx。
因此,我需要的是,当用户输入" www.sitename.com/online“时,他/她应该保留与www.sitename.com/online相同的网址,而不是"www.sitename.com/trade/Login.aspx".So如何维护用户输入的网址。
谢谢,Joby
发布于 2012-09-13 14:33:17
最好方法是在重定向到登录页面中传递一个带有原始url的参数,然后让登录重定向回原始url
Location: http://example.com/login?ref=http%3A%2F%2Fexample.com%2Ffoo然后在登录后,读取"ref“参数并执行位置重定向。
发布于 2012-09-13 14:51:46
如果你正在使用内置的成员资格提供程序,那么你可以使用[Authorize]属性,它具有将用户重定向到原始页面的功能,在用户获得身份验证后,系统会自动将用户重定向到所请求的页面。
或者您可以尝试以下解决方案:
如下所示:
www.sitename.com/trade/Login.aspx?ReturnUrl=http%3A%2F%2Fsitemap.com%2Fonline用户通过身份验证后,您可以将用户重定向到请求的页面。
Response.Redirect(Request.QueryString["ReturnUrl"]);发布于 2012-09-13 14:39:44
考虑使用MVC,或者至少将MVC的一部分与ASPX页面一起使用来呈现视图。这样你就可以拥有任何你想要的与物理文件名无关的Urls。
用户很少输入任何urls...我真的不确定是否有人关心Url是否有意义(或完全无关紧要)。所以我认为完全可以在/login之类的地方呈现登录页面,然后重定向回原始页面。您可以将原始url保存在查询字符串中(正如@chovy建议的那样),或者如果登录从不离开您的站点,则将隐藏元素保存在页面上。如果登录离开您的站点(例如,用于OAuth身份验证),则可以将会话状态或cookies放在存储返回的URL处。
https://stackoverflow.com/questions/12400643
复制相似问题