您当前的位置: 首页 >  java持续实践

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

java持续实践 发布时间:2019-02-16 14:58:02 ,浏览量:5

文章目录

      • 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

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

关注
打赏
查看更多评论

java持续实践

暂无认证

  • 5浏览

    0关注

    583博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录