当前位置: 首页 > news >正文

关于政协 网站建设宁波网站建设哪家强

关于政协 网站建设,宁波网站建设哪家强,景安网站备案的服务码,内江市住房和城乡建设局网站电话号码今天在写前后端分离项目时#xff0c;用jwt加shiro进行登录权限校验时#xff0c;RequireRoles(admin)注解不起作用#xff0c;记录一下。 前提#xff1a;数据库里面的user_type代表用户类型 #xff1a;0普通用户 #xff1b;1#xff1a;专家#xff1…今天在写前后端分离项目时用jwt加shiro进行登录权限校验时RequireRoles(admin)注解不起作用记录一下。 前提数据库里面的user_type代表用户类型 0普通用户 1专家2管理员 1.JwtReam中的内容 Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { //进行权限的认证 String token (String) principalCollection.getPrimaryPrincipal(); log.info(进入进行权限认证的方法token为{}, token); User user null; SimpleAuthorizationInfo simpleAuthorizationInfo new SimpleAuthorizationInfo(); try {Claims decode JwtUtils.decode(token);String email (String) decode.get(email);user userLoginService.getUserInfoByEmail(email);if (user.getUserType() 2) {simpleAuthorizationInfo.addRole(admin);log.info(为用户添加admin权限);} } catch (Exception e) {log.info(解析token异常);// 解析token异常返回错误信息 } log.info(用户类型为{},user.getUserType()); return simpleAuthorizationInfo; } 2.controller中的写法 RestController RequestMapping(admin/user/) Validated Api(tags 管理员管理用户) RequiresRoles(value admin,logical Logical.AND) public class ManagerUserController {Resourceprivate UserService userService;GetMapping(getAllUser)ApiOperation(value 获取所有的用户,response UserInfo.class)public ResultPageResult getAllUser(PageDto pageDto) {boolean role SecurityUtils.getSubject().hasRole(admin);log.info(用户是否有权限{},role);return userService.getAllUser(pageDto);} } 3.结论 这里可以看到controller里面加了RequiresRoles(value admin,logical Logical.AND)用户需要权限才能访问接口但是并没有生效。看看控制台输出了什么 : 进入进行权限认证的方法token为 。。。。。。: 用户类型为0: 用户是否有权限false 说明进入了权限认证的方法doGetAuthorizationInfo(PrincipalCollection principalCollection),并且controller里面的方法判断用户是不是有权限显示用户并没有权限但是还是进入了方法并且执行了方法获取了数据 说明RequiresRoles注解并没有生效 4.解决办法  在ShiroConfig里面加上下面的代码 //开启对shiro注解的支持 Bean public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) { AuthorizationAttributeSourceAdvisor advisor new AuthorizationAttributeSourceAdvisor(); advisor.setSecurityManager(securityManager); return advisor; } //开启aop注解支持 Bean public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {DefaultAdvisorAutoProxyCreator defaultAAP new DefaultAdvisorAutoProxyCreator();defaultAAP.setProxyTargetClass(true);return defaultAAP; } 这时用户如果没有权限就会下面的报错 AuthorizationException 可以在全局异常中捕获返回信息给前端这里不再演示。 参考链接https://www.cnblogs.com/tuifeideyouran/p/7696055.html 参考链接https://www.cnblogs.com/shiguotao-com/p/10617693.html
http://www.hkea.cn/news/14567158/

相关文章:

  • 烟台网站制作策划不花钱做网站
  • 校园网站设计与实现制作表情包的软件
  • 邵阳汽车网站建设菜市场做建筑设计图库的网站设计
  • 电商类网站开发方案打开一个网站为繁体字是怎么做的
  • 嘉兴网站建设方案外包百度怎样建立网站链接
  • 客户端建站wordpress横线
  • 西安搭建网站wordpress arduino
  • 济宁君天建设公司网站微信小程序支付功能开发
  • 做网站网站代理没有盈利违法吗wordpress文章列表分页代码
  • 做网站永久浙江省建设监理协会网站
  • 郑州中原区建设局网站网站建设找业主签字模板
  • 在谷歌上做英文网站网站备案中页面
  • 杭州网站搭建多少钱无锡市做企业网站的
  • 网络营销网站商城网站前期seo应该怎么做
  • 上海定制化网站开发公司深圳造价信息网官网
  • 做一个京东网站怎么做的framework7做网站
  • 甘肃省住房和建设厅网站首页普通网站建设是什么
  • 兰州公司网站制作微信推送怎么做购物网站
  • 上海网站空间网站后台管理系统多少钱
  • wordpress首页描述代码青岛官网seo价格
  • 国外设计案例网站如何做一个移动网站
  • 大型免费网站制作北京到安阳的火车票
  • 张北县网站建设湖北手机版建站系统信息
  • 盐城网站建设代理商工信部网站备案查询 手机
  • 网站栏目建设方案做网站的人会留下啥漏洞吗
  • 猪八戒网站开发较好的网站建设公司
  • 网站 攻击 刷流量科技平台网站建设
  • 滁州市南谯区建设局网站wordpress contact 插件
  • 网站服务器租赁需要什么手续保定企业官网搭建
  • 网站qq弹窗代码app官方安装下载