用户登录用session和cookie来实现
2014-12-15 14:07
525 查看
1. 用户通过手机号mobile登录或注册,此时调用一个接口,通过该接口得到该手机号对应的userid,调用该接口后,把userid以及对应的手机号存到session中,代码如下:
2. 判断用户是否已经登录或注册
3. 退出登录
如果把代码部署到一台机器上,那没什么问题;但是如果把代码部署到两台至多台机器上就有问题了,因为一个用户登录时只有一台机器假设是A机器接受请求并在该台机器上把userid和手机号存在session里,但是该用户在发起别的请求时被另一台机器假设是B机器通过
//
;得到的userid和mobile都为空
为了尽快上线,采用cookie来实现登录或注册的功能
1.绑定手机号的时候
2.判断是否登录或注册的时候
3.退出登录
HttpSessionsession=beat.getRequest().getSession(); session.setAttribute("useridsession",userid); session.setAttribute("usermobile",mobile);
2. 判断用户是否已经登录或注册
<pre name="code" class="java">HttpSessionsession=beat.getRequest().getSession(); String usermobile=(String)session.getAttribute("usermobile"); String userid=(String)session.getAttribute("useridsession"); if (usermobile !=null && !usermobile.equals("")) { 此时用户已经登录了 }
3. 退出登录
HttpSessionsession=beat.getRequest().getSession(); session.removeAttribute("useridsession"); session.removeAttribute("usermobile");
如果把代码部署到一台机器上,那没什么问题;但是如果把代码部署到两台至多台机器上就有问题了,因为一个用户登录时只有一台机器假设是A机器接受请求并在该台机器上把userid和手机号存在session里,但是该用户在发起别的请求时被另一台机器假设是B机器通过
//
HttpSessionsession=beat.getRequest().getSession(); String usermobile=(String)session.getAttribute("usermobile"); String userid=(String)session.getAttribute("useridsession"); if (usermobile !=null && !usermobile.equals("")) { 此时用户已经登录了 }
;得到的userid和mobile都为空
为了尽快上线,采用cookie来实现登录或注册的功能
1.绑定手机号的时候
Cookie useridsession = new Cookie("useridsession", userid); useridsession.setPath("/"); usermobile = new Cookie("usermobile",mobile); usermobile.setPath("/"); beat.getResponse().addCookie(useridsession); beat.getResponse().addCookie(usermobile);
2.判断是否登录或注册的时候
String userid = ""; String usermobile = ""; Cookie[] cookies = beat.getRequest().getCookies(); if(cookies != null) { for (Cookie c : cookies) { System.out.println(c.getName() + "--->" + c.getValue()); if (c.getName().equals("useridsession")) { userid = c.getValue(); } else if (c.getName().equals("usermobile")) { usermobile = c.getValue(); } } } if (usermobile !=null && !usermobile.equals("")) { 此时用户已经登录了 }
3.退出登录
Cookie useridsession = newCookie("useridsession", null); useridsession.setMaxAge(0); useridsession.setPath("/"); beat.getResponse().addCookie(useridsession); Cookie usermobile = newCookie("usermobile", null); usermobile.setMaxAge(0); usermobile.setPath("/"); beat.getResponse().addCookie(usermobile);
相关文章推荐
- 用Cookie和Session实现用户登录 函数
- cookie,session,实现服务器记忆用户登录状态功能
- 使用cookie,session,filter等技术实现用户自动登录
- php同时使用session和cookie来保存用户登录信息的实现代码
- java web session+cookie实现用户自动登录
- 使用COOKIE对像实现保存用户基本信息(结合Session),ASP.Net实现用户登录全过程
- 实现session登陆时间的验证,验证用户登录页面的一个监听器
- OutPutCache 自定义缓存:session、登录用户、cookie 等
- php同时使用session和cookie来保存用户登录信息
- 网站防止非法用户登录的session方式实现
- php 依据session与cookie用户登录状态操作类
- session、cookie与“记住我的登录状态”的功能的实现
- C#中用session实现的用户登录代码与退出登录代码
- [JavaScript] session、cookie与“记住我的登录状态”的功能的实现
- php中如何同时使用session和cookie来保存用户登录信息
- session、cookie与“记住我的登录状态”的功能的实现
- 实现session登陆时间的验证,验证用户登录页面的一个监听器
- php中使用cookie来保存用户登录信息的实现代码
- session、cookie与“记住我的登录状态”的功能的实现
- Asp.Net使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖