关于登录后跳转回登录前页面的问题
先说用的是spring的mvc。
功能是这样的:现在用户在页面A, 然后点了一个连接要进入页面B,但进入页面B之前需要先登录,在用户登录完后要页面跳转到页面B,请问这个功能要怎么实现?
查了下网上的资料:
一个方案是用getHeader("referer"),但是这个只能获得页面的A的连接,所以不行。
另一个方案是在拦截器中将页面B的连接保存在session中,在用户登录后从session中取出页面B的连接,然后跳转到页面B。这样做的问题是:
1.在第一次点击页面B连接的时候,如果需要传递参数,并且不是url传参而是其他类型的传参(比如表单传参),在用户登录后跳转到页面B的时候,怎样把参数也过去(说白就是怎样保存第一次发链接时的参数)。
2.使用ajax的时候也会出现需要登录时候,是否要在所有的ajax连接上加一个参数来区分它不是普通的连接,然后在返回到javascript中单独做处理。
求大虾来解决问题。谢谢!!!
[解决办法]
1.form 表单 提交,里面埋input hidden 放参数
2.登录信息放session里
[解决办法]
我觉得第一种情况是很少的把!一般是点击链接然后判断用户是否有登录,没登录就登录,登录的同时把用户的请求放到session中就可以了!第二种情况没看明白
[解决办法]
2楼能说清楚些么?
登录信息肯定是放在session中,我说的问题是在为登录或session过期后跳转到登录页的时候。
里面放input hidden放参数 是放在哪个表单中?还有第一次点页面B连接的时候,在哪里接参数,如果要接收参数再传到页面B,岂不是要把所有连接的参数都写上面?或者使用request.getParameterValues()?放表单参数? 那传文件的时候咋办?
[解决办法]
3楼说的 就算情况很少也是要处理的啊
[解决办法]
- -回复2楼的方法错了 应该是request.getParameterMap()
[解决办法]
function showXXXXX(){
var login = getCookie('XXX');
if(login == null
[解决办法]
login == ''){
window.location.href="http://www.login.com/login.do?returnURL=http://目标页面";
}else{
直接window.location.href 目标
return false;
}
}