[2025.2.26 JavaWeb学习]登录校验

流程图

image

会话技术

  • 指浏览器与服务器的一次连接,直到某一方断开,某个浏览器的一次会话可以包含多次请求和响应

  • 会话跟踪:一种维护浏览器状态的方法,HTTP协议不记录状态,无法实现状态共享,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据,方案

    • 客户端会话跟踪技术:Cookie
    • 服务端会话跟踪技术:Session
    • 令牌技术

image

  • 每一次请求后设置一个Cookie,记录信息,服务端响应数据会自动将Cookie响应给浏览器,并自动存储,在后续请求时,浏览器自动将本地存储的Cookie发送到服务端进行会话跟踪
  • 优点:HTTP协议支持的技术
  • 缺点:
    • 移动端无法使用
    • 不安全,用户可以禁用
    • Cookie不能跨域(域名、端口、协议)

Session

image

  • 优点:session数据存储在服务端,使用Cookie进行其id传输,安全
  • 缺点:
    • 服务器集群下无法直接使用
    • Cookie的缺点(基于Cookie实现)

令牌技术

  • 优点:
    • 支持PC和移动端
    • 解决集群环境下的认证问题
    • 减轻服务器端存储压力
  • 缺点:需要自己实现

JWT令牌(JSON Web Token)

image

  • 部门查询中携带的JWT令牌:

image

Filter过滤器

  • 三大组件(Servlet、Filter、Listener)之一
  • 可以把对资源的请求拦截下来,从而实现一些特殊的功能
  • 可以进行登录检验、统一编码处理、敏感字符处理等
  • 有放行前逻辑、放行、放行后逻辑三个步骤
  • 过滤器链:一个web应用可以配置多个过滤器,顺序按照类名的字典序
  • 登录检验流程:

image

  • 因为ServletRequest中只提供了获取基本信息的方法,没有获取用户请求类型的方法。所以就必须要将ServletRequest转成HttpServletRequest。因为HttpServletRequest与Http协议相关

Interceptor拦截器

  • 是一种动态拦截方法调用的机制,类似过滤器
  • 作用:拦截请求,在指定方法调用前后,根据业务需要执行预先设定的代码
  • 执行流程:

image

Filter和Interceptor的区别

  • 接口规范不同:过滤器需要实现Filter接口,而拦截器需要实现HandlerInterceptor接口
  • 拦截范围不同:过滤器会拦截所有的资源,而Interceptor只会拦截Spring环境中的资源(只能拦截 Spring MVC 处理的请求)
posted @ 2025-02-26 23:16  Luna-Evelyn  阅读(24)  评论(0)    收藏  举报