首页 新闻 会员 周边

身份验证后返回原请求页面如何实现

0
悬赏园豆:20 [已关闭问题]

有多个aspx页面需要用户登录后才能进行下一步操作,现在的实现流程是这样的:页面中有一个超链接,指向登录页面,用户登录成功后希望返回请求的页面,请问有没有好的办法?

在线等,先谢谢了

问题补充: 我用 Response.Write("<script>location.href='javascript:history.go(-2)';</script>"); 实现了返回原页面,但是要想返回时原页面同时刷新一下怎么办呀?
Qubook的主页 Qubook | 初学一级 | 园豆:0
提问于:2008-10-13 13:46
< >
分享
其他回答(10)
0

一种办法是超链接后面带参数,如从首页跳转到登录页的链接可以这样写:
<a href="login.aspx?url=default.aspx">登录</a>
这样在登录后可以根据参数 url 来进行跳转,这也是最常用的一种办法

另一种方法是通过request获取链接来源然后跳回,用的比较少,推荐上面一种

丁学 | 园豆:18730 (专家六级) | 2008-10-13 13:49
0

基本思路就是想办法将这个链接保存在一个变量里,那么Session是不是可以呢?

麒麟.NET | 园豆:3614 (老鸟四级) | 2008-10-13 14:21
0

Session确实可以,但使用Session就意味着跳转的逻辑需要在后台执行,而不是简单地使用<a>标签的href属性,这会导致额外的网络流量,并且便编程模型变得非常复杂
超链接放在用户控件里也是可行的,可以使用<a href="login.aspx?url=<%= Requrest.Path %>">登陆</a>

Gray Zhang | 园豆:17610 (专家六级) | 2008-10-13 14:24
0

注意看本页的登陆按钮(注销以后)

http://www.cnblogs.com/login.aspx?ReturnURL=http%3a%2f%2fspace.cnblogs.com%2fquestion%2fitem.aspx%3fqid%3d3294

我想这就是采用了Gray Zhang说的

<a href="login.aspx?url=<%= Requrest.Path %>">登陆</a>

NormRen | 园豆:185 (初学一级) | 2008-10-13 14:40
0

加个returnurl就行了..

wingoo | 园豆:1513 (小虾三级) | 2008-10-13 14:52
0

使用form验证!

在web.config里设置

系统会自动跳回到上一链接页面的

yeyang | 园豆:418 (菜鸟二级) | 2008-10-13 15:11
0

我见过的几个系统 也是用了<a href="login.aspx?url=default.aspx">登录</a>这种方法

forms验证是不是可以处理url不固定的这种呢?没有用过

张荣华 | 园豆:2020 (老鸟四级) | 2008-10-13 15:11
0

login.aspx?url=default.aspx此方式,一般不推荐。

1.出于安全考虑,一般采用POST方式。

2.采用配置的方式,方便维护。(推荐)

3.不管超链接放在哪里。(采用配置方式都可以灵活应对。)

    

RicoRui | 园豆:3663 (老鸟四级) | 2008-10-13 17:02
0

看好题目意思,是登录成功后返回到上一个页面

比如你正看一个帖子,想回帖,但要登录,LZ的意思是登录后还是在这个帖子所在的页面

而不是一个默认的成功登录的页面

<a href="login.aspx?url=default.aspx">这好像没传特殊的东西

<a href="login.aspx?url=<%= Requrest.Path %>">登陆</a>这一个还差不多

howard-Wang | 园豆:415 (菜鸟二级) | 2008-10-13 23:10
0

都是高人学习了.....

Jared.Nie | 园豆:1940 (小虾三级) | 2008-10-14 09:07
0

楼上都有解决方案了,一个returnurl=****.aspx就可以了。一般都是有error 或者 tip才加的。然后跳转到原来的页面.

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2008-10-14 09:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册