尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

【电商项目】测试 授权功能 遇到的问题与解决方案

【电商项目】测试 授权功能 遇到的问题与解决方案 在测试之前记得注释掉鉴权注解 PreAuthorize 。解开前端之前注释掉的axios里的登录认证代码。然后启动前端项目 cmdyarn serve。一、点击操作无反应测试点击修改权限无反应因为这没涉及到报错所以我去查看了日志经过之前的那些报错经验我知道了这是SQL语句问题。而且根本原因不在于 SQL 语法本身而在于参数传递。日志显示 Parameters: null这意味着在执行findById查询时传入的rid参数为空。根据之前的经验一般是这两种错误1. 参数类型错误Long写成long了。2. 后接参数绑定失败前端传参和后端参数名字没对应上。事实也确实如此我属于第二个错误。后端绑定参数应为 rid 而我写成了 id 。二、报错异常未达预期本应报403权限不足异常却报了系统异常我们让非超级管理员角色登录网站非超级管理员不可进行角色管理本应报错权限不足但实现代码后依旧被全局异常拦截报错系统异常。经过查询搜检总结 最有可能的原因有以下几种1. SpringSecurity 异常优先级高于 RestControllerAdviceSecurity 的AccessDeniedException会被框架内置异常处理器优先捕获转发不会进入全局异常切面。2. 异常处理器没有注册生效类未被 Spring 扫描未放到启动类可扫描包下、未加 Component切面直接失效。3. 处理逻辑错误找了好久最后发现这几种原因都不是是AccessDeniedException的导包的错误挺意外的确实是没注意。应该导入的是springframework的我导入的是 nio.file 的。
返回列表