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

相关推荐
期待のcode42 分钟前
@RequestBody的伪表单提交场景
java·前端·vue.js·后端
栀秋6661 小时前
防抖 vs 节流:从百度搜索到京东电商,看前端性能优化的“节奏哲学”
前端·javascript
一颗烂土豆1 小时前
vfit.js v2.0.0 发布:精简、语义化与核心重构 🎉
前端·vue.js·响应式设计
有意义1 小时前
深入防抖与节流:从闭包原理到性能优化实战
前端·javascript·面试
气π1 小时前
【JavaWeb】——(若依+AI)-帝可得实践项目
java·spring
可观测性用观测云1 小时前
网站/接口可用性拨测最佳实践
前端
ShoreKiten1 小时前
ctfshow-web165(会一题通一类保姆级wp)
web
乌暮1 小时前
JavaEE初阶--多线程案例
java·java-ee
小光学长2 小时前
基于ssm旅游管理系统的开发与设计z050cft7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·旅游