filter在登录上的运用(自动登录)

2014年5月13日  博客第二天 心情:较差

Cenobite笔记:filter在登录上的运用(自动登录)
1.功能:实现记住用户登录信息时间,达到选择时间内可以自动记住登录
2.重点:使用cookie缓存的用户信息密码一定不要直接返回,必须用算法(MD5)
3.filter部分(四部曲)
3.1.得到用户带过来的autologin的cookies
String value = null;
Cookie cookies[] = request.getCookies();
for(int i=0;cookies!=null && i<cookies.length;i++)
if(cookies[i].getName().equals("autologin"))
value = cookies[i].getValue();
3.2.得到cookie中的用户名和密码
if(value!=null){
String username = value.split("\\.")[0];
String password = value.split("\\.")[1];
3.3.调用dao层获取用户名相对应的密码
UserDao dao = new UserDao();
User user = dao.find(username);
String dbpassword = user.getPassword();
3.4.检查用户带过来的MD5密码是否和数据库中的相匹配,若匹配则自动登录
if(password.equals(WebUtils.md5(dbpassword)))
request.getSession().setAttribute("user", user);
4.拦截设置方式(dispatcher):四种方式---REQUEST;FORWARD;INCLUDE;ERROR

5.(包装设计模式)对象增强五部曲:
5.1实现与增强对象相同的接口
5.2定义一个变量记住增强对象
5.3定义一个构造器,接受增强对象
5,4覆盖需要增强的方法
5.5对不想增强的方法,直接调用被增强对象(目标对象)的方法。
    使用处:解决get方式的乱码问题,通过增强request
(替换)解决网站提交敏感词汇






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值