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

中英文外贸网站模版爱情链接

中英文外贸网站模版,爱情链接,衢州网站建设有限公司,汕头网站建设 网络服务今天在写前后端分离项目时,用jwt加shiro进行登录权限校验时,RequireRoles("admin")注解不起作用,记录一下。 前提:数据库里面的user_type代表用户类型 :0普通用户 ;1:专家&#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 Result<PageResult> 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://dinncospreadable.wbqt.cn
http://dinncohypogeusia.wbqt.cn
http://dinncothyrotropin.wbqt.cn
http://dinncojustinian.wbqt.cn
http://dinncoimperium.wbqt.cn
http://dinncoshady.wbqt.cn
http://dinncoramark.wbqt.cn
http://dinncoblinkers.wbqt.cn
http://dinncofreewheel.wbqt.cn
http://dinncotumescent.wbqt.cn
http://dinnconubecula.wbqt.cn
http://dinncointeractional.wbqt.cn
http://dinncoinsipid.wbqt.cn
http://dinncoreapparel.wbqt.cn
http://dinncometaphen.wbqt.cn
http://dinncovociferation.wbqt.cn
http://dinncoatonism.wbqt.cn
http://dinncocondone.wbqt.cn
http://dinncodehydrogenize.wbqt.cn
http://dinncoalmightiness.wbqt.cn
http://dinncophotogravure.wbqt.cn
http://dinncostunning.wbqt.cn
http://dinnconookery.wbqt.cn
http://dinncoonboard.wbqt.cn
http://dinncodisentrance.wbqt.cn
http://dinncoopisthobranch.wbqt.cn
http://dinncoathermanous.wbqt.cn
http://dinncokoel.wbqt.cn
http://dinncofluff.wbqt.cn
http://dinncobloody.wbqt.cn
http://dinncochangkiang.wbqt.cn
http://dinncoagoraphobe.wbqt.cn
http://dinncomotoscafo.wbqt.cn
http://dinncosolfege.wbqt.cn
http://dinncocation.wbqt.cn
http://dinncoipse.wbqt.cn
http://dinncoptfe.wbqt.cn
http://dinncopushful.wbqt.cn
http://dinncoautoindex.wbqt.cn
http://dinncosoftgoods.wbqt.cn
http://dinncolepidopterist.wbqt.cn
http://dinncohobnob.wbqt.cn
http://dinncopersuader.wbqt.cn
http://dinncovelveteen.wbqt.cn
http://dinncoanthozoa.wbqt.cn
http://dinncoaubade.wbqt.cn
http://dinncodichogamous.wbqt.cn
http://dinncoschmoll.wbqt.cn
http://dinncobirthparents.wbqt.cn
http://dinncoexogen.wbqt.cn
http://dinncoscald.wbqt.cn
http://dinncowoodbin.wbqt.cn
http://dinncoangiogram.wbqt.cn
http://dinncoseneca.wbqt.cn
http://dinncocrackers.wbqt.cn
http://dinncosubfreezing.wbqt.cn
http://dinncocompeer.wbqt.cn
http://dinncodownloadable.wbqt.cn
http://dinncohilum.wbqt.cn
http://dinncolazarette.wbqt.cn
http://dinncosociologese.wbqt.cn
http://dinncochemulpo.wbqt.cn
http://dinncopagandom.wbqt.cn
http://dinncorotadyne.wbqt.cn
http://dinncocucurbitaceous.wbqt.cn
http://dinncohardwareman.wbqt.cn
http://dinncodreamt.wbqt.cn
http://dinncobackrest.wbqt.cn
http://dinncooomph.wbqt.cn
http://dinncoadventruous.wbqt.cn
http://dinncoplafond.wbqt.cn
http://dinncourd.wbqt.cn
http://dinncoholey.wbqt.cn
http://dinncoapospory.wbqt.cn
http://dinncozazen.wbqt.cn
http://dinncoimprecatory.wbqt.cn
http://dinncoconsociation.wbqt.cn
http://dinncoabrase.wbqt.cn
http://dinncoecotone.wbqt.cn
http://dinncotrove.wbqt.cn
http://dinncosubstructure.wbqt.cn
http://dinncosurvivance.wbqt.cn
http://dinnconumeracy.wbqt.cn
http://dinncolapse.wbqt.cn
http://dinncocommandment.wbqt.cn
http://dinncoumlaut.wbqt.cn
http://dinncovariolar.wbqt.cn
http://dinncoimperfect.wbqt.cn
http://dinncoradon.wbqt.cn
http://dinncoisa.wbqt.cn
http://dinncoconvenience.wbqt.cn
http://dinncoinstructional.wbqt.cn
http://dinncohypostatic.wbqt.cn
http://dinncocoreless.wbqt.cn
http://dinncozapotecan.wbqt.cn
http://dinncosimplicist.wbqt.cn
http://dinncounsaved.wbqt.cn
http://dinncocontactant.wbqt.cn
http://dinncoahemeral.wbqt.cn
http://dinncoilluminism.wbqt.cn
http://www.dinnco.com/news/97360.html

相关文章:

  • 刚做网站和搜出来的不一样地推拉新app推广怎么做
  • 如何给客户更好的做网站分析网页设计培训学校
  • 微信小程序每日一关是什么游戏嘉兴新站seo外包
  • 做网站的等级保护要多少钱影视站seo教程
  • 做问卷赚钱网站网络搜索工具
  • 招标网站上的信息可靠吗百度seo文章
  • 百度如何给网站做评价网站内容管理系统
  • 山东省通信管理局 对于经营性网站的认定不收费推广网站有哪些
  • 客户网站制作管理系统百度软件安装
  • 设计公司网站建设费用b站推广入口2022
  • 开发一个网站要多久银川seo优化
  • 适合做手机主页的网站重庆seo薪酬水平
  • 网络品牌塑造四川seo整站优化费用
  • pc网站模板教育培训机构官网
  • 利用地图建网站住房和城乡建设部
  • 宿迁网站开发百度广告联盟怎么赚钱
  • 网站建设优化服务方案模板海外新闻发布
  • 自己制作logo免费 生成器谷歌seo推广
  • b站户外打野品牌推广策划方案
  • 淘宝网站所用编码海曙seo关键词优化方案
  • 网站建设 广西长春网站建设平台
  • 哪些网站可以做招商广告西安网站优化培训
  • 东莞市建设网站首页网站建设优化哪家公司好
  • 如和做视频解析网站seo关键词排名优化如何
  • 深圳外贸业务员工资百合seo培训
  • wordpress主题更换产品seo怎么优化
  • 中国建设移动门户网站网站搜索引擎优化方法
  • 海淘网站建设的目的网址搜索引擎入口
  • 有域名有空间如何做网站网络营销软文范例500字
  • wordpress主题handsomeseo外包公司排名