吉尔伽胖虎 2023-02-10 09:17 采纳率: 66.7%
浏览 16
已结题

关于拦截器和过滤器作为校验登陆

我看过有俩个项目,分别用了过滤器和拦截器进行登陆的校验工作,所以想问下,一般情况下是使用哪一种的?以及有没有比较公认的写法

  • 写回答

3条回答 默认 最新

  • 纳川_cys 2023-02-10 09:47
    关注

    以我个人常用的Spring Boot 项目工程为例,使用过滤器和拦截器进行登录校验都是可以的。
    拦截器::适用于处理请求和响应的预处理和后处理。如果你希望控制请求的生命周期,并对请求/响应进行更多的修改,那么拦截器更适合你。
    过滤器:适用于对请求/响应的内容进行预处理和后处理。如果你只需要处理请求/响应的内容,而不需要对其生命周期进行控制,那么过滤器更适合你。

    另上述提到的:控制请求的生命周期的常见场景,例如:
        1. 权限控制:在访问某些资源之前,需要对用户进行身份校验。例如,在访问私有页面之前,需要先登录。
        2. 日志记录:在处理请求时,需要记录请求的信息,例如请求的 URL、请求头、请求参数等。
        3. 参数校验:在接收请求参数时,需要对参数进行校验,例如对请求参数的数据类型、数据格式等进行校验。
        4. 安全防护:在处理请求时,需要防范恶意攻击,例如 XSS 攻击、SQL 注入攻击等。
    (这些场景下,如果使用过滤器来处理,很可能不够灵活,可能需要对多个过滤器进行配置,才能实现相应的功能。而使用拦截器,可以方便地实现对请求的生命周期的控制,并实现上述功能。)
    

    所以,关于选择哪一种,取决于具体的业务场景和需求。
    至于有没有比较公认的写法,这是个主观的问题。不过,在实际项目开发中,大多数人通常会使用拦截器来进行登录校验,因为它具有更高的灵活性。可以通过定义不同的拦截器来实现不同的校验策略,更方便扩展。
    以上描述,希望能够帮到你~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月22日
  • 创建了问题 2月10日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部