《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的继续使用

相关推荐
八月ouc几秒前
每日小知识点:10.14 webpack 有几种文件指纹
前端·webpack
苏琢玉4 分钟前
从 Hexo 到 Astro:重构我的个人博客
前端·hexo
云泽8087 分钟前
C/C++内存管理详解:从基础原理到自定义内存池原理
java·c语言·c++
街尾杂货店&10 分钟前
webpack - 单独打包指定JS文件(因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改)
前端·javascript·webpack
月光技术杂谈12 分钟前
用Deepseek 实现一个基于web的扣图应用
前端·javascript·html5·ccs·tensorflow.js·canvas api
Code小翊16 分钟前
堆的基础操作,C语言示例
java·数据结构·算法
高山上有一只小老虎33 分钟前
idea中设置快捷键风格
java·ide·intellij-idea
JH307334 分钟前
IDEA自带的Maven安装位置
java·maven·intellij-idea
梵得儿SHI1 小时前
Java 反射机制核心类详解:Class、Constructor、Method、Field
java·开发语言·反射·class·constructor·java反射·java反射机制
金梦人生1 小时前
Css性能优化
前端·css