黑马十次方项目day06-16之拦截器验证token的service层改造

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33229669/article/details/87450369

文章目录

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

响应如下,删除成功,代表拦截器配置成功

猜你喜欢

转载自blog.csdn.net/qq_33229669/article/details/87450369