当前位置:首页 > 开发 > Web前端 > 前端 > 正文

登录后跳转进入登录前的网址

发表于: 2013-11-18   作者:aawty   来源:转载   浏览:
摘要:   优化系统的时候拿到网址,登录进去只能看到首页,之前的网址还要再输一遍,比较费事。     所以选择用Memcached+Cookie来存取登录前的网址。     1.为每个用户输入的网址设置一个唯一的Token,存入Request的Cookie中。作为Memchched中的key。    
  优化系统的时候拿到网址,登录进去只能看到首页,之前的网址还要再输一遍,比较费事。
    所以选择用Memcached+Cookie来存取登录前的网址。
    1.为每个用户输入的网址设置一个唯一的Token,存入Request的Cookie中。作为Memchched中的key。
    (1)//通过loginTokenName取出Cookie中的TokenStr。
            String tokenStr = ServletUtil.getCookieValue(request,LoginConstants.loginTokenName);
            //检查Token是否为空,格式是否符合,若不是,则重新设置Token。
if(!Token.checkToken(tokenStr)){
Token token = Token.getToken(request);
tokenStr = token.toCookieString();//通过requeat中的mac ;System.currentTimeMillis() ;PID;clientIp;构建Token.
ServletUtil.addCookie(response,LoginConstants.loginTokenName, tokenStr, LoginConstants.cookieTime);
                            //LoginConstants.loginTokenName作为key,tokenStr作为value。存入request中。
//key = LoginConstants.loginTokenName+tokenStr;
}
    (2)////重定向到 toLogin 
       String callBackUrl = request.getRequestURI().toString();
       callBackUrl += getReqParaPairToStr(request);//传参URL中的参数
       callBackUrl = URLEncoder.encode(callBackUrl,"utf-8");//编码
       response.sendRedirect("/back/userlogin/toLogin.do?callBackUrl="+callBackUrl); 
    (3)    //实现页面跳转到登录方法:
        public String  toLogin(String callBackUrl){
//保存callBackUrl路径到Memcached中
MemcachedUtil.setObject(LoginUtil.getLoginCallBackURLKey(request),callBackUrl, LoginConstants.callBackUrlTime);
return "back/login";
            }
    (4)//在登录时候取出Url
String callBackUrl= (String)MemcachedUtil.getObject(LoginUtil.getLoginCallBackURLKey(request));
String LoadUrl;
if(callBackUrl==null){
LoadUrl = ConfigConstants.backFirstPage;
}else{
callBackUrl=callBackUrl.replace(':', '=');
callBackUrl=callBackUrl.replace(',', '&');
LoadUrl = callBackUrl;
}
                        return "redirect:"+LoadUrl;
突然发现这样做很麻烦,数据不好取,可能我还没看到他的好处。

登录后跳转进入登录前的网址

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号