过滤器和借助过滤器实现登陆退出

概念

单实例的

如图所示,filter由Servlet容器加载web应用时创建并调用init(FilterConfig filterConfig),所以它是单实例的。注意普通Servlet的实例是在第一次访问时才由Servlet容器创建。

DoFilter((ServletRequest request, ServletResponse response, FilterChain chain)则在拦截的资源每次被请求时才执行。

登录

添加一个过滤器过滤某一部分资源,检查session中是否存在user;如果存在则放行,否则跳转登录页。
在登录页填写信息进入登录Servlet,将登陆信息存储在session中。

自动登录

选中自动登录,在Login这一Servlet中检查是否勾选了自动登录;如果勾选,则设置Cookie的有效时间,且将用户信息以字符串的形式存储到Cookie中。在检查登录过滤器前新增自动登录过滤器,检查是否存在Aotologin的cookie,如果有则取出cookie值中的用户信息并且存储到session中;这样在检查登录过滤器中就会检查到用户信息放行。

退出

Logout这一Servlet中,循环检索到Autologin的cookie,设置其值为null和有效时间为不大于0的值,然后跳转到首页。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值