方式2:在前端通过el表达式获取:```${sessionScope.SPRING_SECURITY_CONTEXT.authentication.principal.username} 方式3:在前端通过使用security标签直接获取: ``` <%@ taglib uri="http://www.springframework.org/security/tags" prefix="security"%> <security:authentication property="principal.username"/>...
Authentication是spring security包中的接口,直接继承自Principal类,而Principal是位于java.security包中的。可以见得,Authentication在spring security中是最高级别的身份/认证的抽象。由这个顶级接口,我们可以得到用户拥有的权限信息列表,密码,用户细节信息,用户身份信息,认证信息。 getAuthorities(),权限信息列表,默认是Granted...
请求到UsernamePasswordAuthenticationFilter,会判断是否是登录请求,是的话是否有用户名和密码并认证,到FilterSecurityInterceptor时会根据配置判断请求是否满足要求(是否已认证或不用认证),如果不满足就返回登录让用户登录认证信息。通过在上面几个控制器打断点,来分析一下: 启动应用并访问http://localhost:8080/user/1,首...
SpringSecurity将登录用户的信息交给SecurityContextHolder进行管理,然后SecurityContextHolder将用户的登录数据从HttpSession中读入,然后存入到SecurityContext中,当请求完成之后,又将登录信息从SecurityContext中取出,放入到HttpSession中去。 SecurityContextHolder: SecurityContextHolder 中存储的是 SecurityContext , SecurityContex...
大家知道在 Spring Security 中想要获取登录用户信息,不能在子线程中获取,只能在当前线程中获取,其中一个重要的原因就是 SecurityContextHolder 默认将用户信息保存在 ThreadLocal 中。 但是实际上 SecurityContextHolder 一共定义了三种存储策略: 代码语言:javascript ...
第一种方式,从 Authentication 获取 @RestControllerpublic class IndexController{@GetMapping("/no-public/user-info")StringgetUserInfo(Authentication authentication){return authentication.getName();}} 设置登录态的时候,填充到 principal 的是 MimeayDetail 类,在使用的时候可以将 authentication.getPrincipal() 转成...
今天说下登录后获取用户菜单,流程就是根据用户的token然后通过SecurityContextHolder来获取用户信息,根据用户来查询菜单树,其实最主要的就是怎么把后台查询出的数据转换成树形菜单,其实也不难,前后端都可以做,因为树形还是比较常见的所以可以做成一个通用的类来使用,使用时只需要传入数据就好了。
方式1:在前端通过el表达式获取: ${sessionScope.SPRING_SECURITY_CONTEXT.authentication.principal.username} 方式2:在前端通过使用security标签直接获取: <%@ taglib uri="http://www.springframework.org/security/tags" prefix="security"%><security:authenticationproperty="principal.username"/> ...
默认spring security是在WebSecurityConfigurerAdapter中写死的每个URL需要的权限,最近使用FilterInvocationSecurityMetadataSource接口实现了从数据库中获取URL权限定义,假如/admin/auth接口需要”admin“权限,其他URL都只需要登录就可以,FilterInvocationSecurityMetadataSource类里面getAttributes方法判断如果访问的是/admin/auth地址则...
本章节源码地址:MySpringSecurity/SpirngSecurity-chapter13gitee.com/my-spring-security/chapter13 OA...