概述
// 业务逻辑层中有获得当前登录用户信息的需求 // 我们的项目会在控制器方法运行前运行的过滤器中,解析前端传入的JWT // 将解析获得的用户信息保存在SpringSecurity上下文中 // 这里可以编写方法从SpringSecurity上下文中获得用户信息 public CsmallAuthenticationInfo getUserInfo(){ // 编写SpringSecurity上下文中获得用户信息的代码 UsernamePasswordAuthenticationToken authenticationToken= (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication(); // 为了逻辑严谨性,判断一下SpringSecurity上下文中的信息是不是null if(authenticationToken == null){ throw new LeaseServiceException( ResponseCode.UNAUTHORIZED,"您没有登录!"); } // 确定authenticationToken不为null // 就可以从中获得用户信息了 CsmallAuthenticationInfo csmallAuthenticationInfo= (CsmallAuthenticationInfo) authenticationToken.getCredentials(); // 别忘了返回 return csmallAuthenticationInfo; } // 业务逻辑层中的方法实际上都只需要用户的id即可 // 我们可以再编写一个方法,从用户对象中获得id public Long getUserId(){ return getUserInfo().getId(); }
最后
以上就是要减肥大象为你收集整理的从spring-security获取用户信息的全部内容,希望文章能够帮你解决从spring-security获取用户信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复