当前位置: 首页 > news >正文

《web应用技术》第十一次作业

1、验证过滤器进行权限验证的原理。

代码展示:

@Slf4j

@WebFilter(urlPatterns = "/*")

public class LoginCheckFilter implements Filter {

    @Override

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest) request;

        HttpServletResponse resp = (HttpServletResponse) response;

        String url = req.getRequestURL().toString();

        log.info("请求的url: {}",url);

        if(url.contains("login")){

            log.info("登录操作, 放行...");

            chain.doFilter(request,response);

            return;

 }

        String jwt = req.getHeader("token");

        if(!StringUtils.hasLength(jwt)){

            log.info("请求头token为空,返回未登录的信息");

            Result error = Result.error("NOT_LOGIN");

            String notLogin = JSONObject.toJSONString(error);

            resp.getWriter().write(notLogin);

            return;

        }

        try {

            JwtUtils.parseJWT(jwt);

        } catch (Exception e) {//jwt解析失败

            e.printStackTrace();

            log.info("解析令牌失败, 返回未登录错误信息");

            Result error = Result.error("NOT_LOGIN");

            String notLogin = JSONObject.toJSONString(error);

            resp.getWriter().write(notLogin);

            return;

        }

        log.info("令牌合法, 放行");

        chain.doFilter(request, response);

    }

}

2、Apifox的使用

3、Git的继续使用

http://www.lryc.cn/news/370932.html

相关文章:

  • Scala学习笔记11: 操作符
  • 项目五串行通信系统 任务5-3温度信息上传
  • 前端 JS 经典:统一 Vite 中图片转换逻辑
  • DOM-获取元素
  • 【安装笔记-20240612-Linux-内网穿透服务之cpolar极点云】
  • Java 泛型与集合的深入解析:原理、应用与实践
  • Oracle 数据库的自动化工具:AWR 和 ASM
  • java技术专家面试指南50问【java学习+面试宝典】(五)
  • Elasticsearch之深入聚合查询
  • 大模型:分本分割模型
  • 数据预处理 #数据挖掘 #python
  • VS2022 使用C++访问 mariadb 数据库
  • kotlin 语法糖
  • .NET MAUI Sqlite数据库操作(一)
  • SQL 窗口函数
  • staruml怎么合并多个Project工程文件
  • 设计模式——外观模式
  • 开源-Docker部署Cook菜谱工具
  • 使用PHP对接企业微信审批接口的问题与解决办法(二)
  • RK3288 android7.1 实现ota升级时清除用户数据
  • okHttp的https请求忽略ssl证书认证
  • 在Java中使用Spring Boot设置全局的BusinessException
  • Java 异常处理 -- Java 语言的异常、异常链与断言
  • Spring Cloud Nacos 详解:服务注册与发现及配置管理平台
  • java多线程临界区介绍
  • 基于JSP的超市管理系统
  • 一文讲清:生产报工系统的功能、报价以及如何选择
  • blender bpy将顶点颜色转换为UV纹理vertex color to texture
  • Flink Sql:四种Join方式详解(基于flink1.15官方文档)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第3节(泛型约束)