拦截请求
1. 加入用来拦截请求的拦截器
2. 根据session状态判断用户有没有登录过,如果登录过则放行请求,如果没有登录过则重定向到登录页。
3. 结合自定义拦截请求的自定义异常,处理未登录操作。
4. 拦截器需要自动放行登录相关的操作
① 自动放行登录页请求
② 自动放行验证登录请求
1. 在登录页选中”十天免登录”复选框,实现十天免登录操作。
2. 在登录成功后,为账号密码分别设置两个cookie对象,设置账号密码两组键值对信息,设置使用范围,设置生命周期,然后添加到响应对象中。
3. 在跳转到登录页的后台方法中,先取得cookie对象数组,遍历每一个cookie对象,找到账号密码。
4. 判断以上取得的账号密码,如果账号密码为空,则直接跳转到登录页,如果账号密码存在,则执行验证登录操作,登录成功将用户对象保存到session域对象中,如果登录失败则跳转到登录页。
5. 测试十天免登录,在用户选中了十天免登录操作后:
① 访问登录页,看看是否直接登录成功。
② 访问欢迎页,看看是否直接登录成功。
1. 在欢迎页点击退出按钮,执行退出操作。
2. 将服务器中的session对象销毁
3. 将账号和密码相关的cookie对象销毁
销毁思路:使用新的cookie代替原来的cookie
将新cookie的保存时间设置为0
4. 回到登录页