文章目录
Service
- Service
- 测试
在com.tensquare.user.service.UserService中,重新编写deleteById方法. 直接从request域中,获取角色为admin的token . 判断如果token为空, 那么就代表无权限, token不为空,代表有权限可以删除
/**
* 删除
* @param id
*/
public void deleteById(String id) {
//由于有了拦截器,因此直接从拦截器的request中获取admin角色的token
String token = (String) request.getAttribute("claims_admin");
//如果获取的token为空,那么就代表权限不足
if (StringUtils.isBlank(token)) {
throw new RuntimeException("权限不足!");
}
//上面的权限信息验证完成后, 进行用户的删除
userDao.deleteById(id);
}
测试
启动tensquare_user项目 首先获取管理员登录,获取token如下 eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxMDg5ODU1MTIzNTc4MDMyMTI4Iiwic3ViIjoiYWRtaW4iLCJpYXQiOjE1NTAyOTk4NjUsInJvbGVzIjoiYWRtaW4iLCJleHAiOjE1NTAzMDM0NjV9.qHWTetGq_0MZUF6vYmBywDLy_pWdgwBKPkaRRYaTCRE
再次发送如下的delete请求,带上token http://localhost:9008/user/1
响应如下,删除成功,代表拦截器配置成功