首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何维护用户输入的URL

如何维护用户输入的URL
EN

Stack Overflow用户
提问于 2012-09-13 14:30:31
回答 3查看 189关注 0票数 1

我的iis文件夹结构如下

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

发布于 2012-09-13 14:33:17

最好方法是在重定向到登录页面中传递一个带有原始url的参数,然后让登录重定向回原始url

代码语言:javascript
复制
Location: http://example.com/login?ref=http%3A%2F%2Fexample.com%2Ffoo

然后在登录后,读取"ref“参数并执行位置重定向。

票数 2
EN

Stack Overflow用户

发布于 2012-09-13 14:51:46

如果你正在使用内置的成员资格提供程序,那么你可以使用[Authorize]属性,它具有将用户重定向到原始页面的功能,在用户获得身份验证后,系统会自动将用户重定向到所请求的页面。

或者您可以尝试以下解决方案:

如下所示:

代码语言:javascript
复制
www.sitename.com/trade/Login.aspx?ReturnUrl=http%3A%2F%2Fsitemap.com%2Fonline

用户通过身份验证后,您可以将用户重定向到请求的页面。

代码语言:javascript
复制
Response.Redirect(Request.QueryString["ReturnUrl"]);
票数 1
EN

Stack Overflow用户

发布于 2012-09-13 14:39:44

考虑使用MVC,或者至少将MVC的一部分与ASPX页面一起使用来呈现视图。这样你就可以拥有任何你想要的与物理文件名无关的Urls。

用户很少输入任何urls...我真的不确定是否有人关心Url是否有意义(或完全无关紧要)。所以我认为完全可以在/login之类的地方呈现登录页面,然后重定向回原始页面。您可以将原始url保存在查询字符串中(正如@chovy建议的那样),或者如果登录从不离开您的站点,则将隐藏元素保存在页面上。如果登录离开您的站点(例如,用于OAuth身份验证),则可以将会话状态或cookies放在存储返回的URL处。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12400643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档