SpringSecurity获取当前用户信息

一般主要获取两种信息:

获取Authentication

SpringSecurity获取当前用户信息_第1张图片

也可以写成:

SpringSecurity获取当前用户信息_第2张图片

获取结果:

SpringSecurity获取当前用户信息_第3张图片

具体信息说明可以参看我的另一篇博客:https://blog.csdn.net/dongguabai/article/details/80932225

获取UserDetails

这里获取的UserDetails其实就相当于是上面的Authentication中的principal。

SpringSecurity获取当前用户信息_第4张图片

当然,也可以封装成一个工具类:

/**
 * 用户支撑类
 * @author Dongguabai
 * @date 2018-07-12 23:03
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class DgbSecurityUserHelper {

    /**
     * 获取当前用户
     * @return
     */
    public static Authentication getCurrentUserAuthentication(){
        return SecurityContextHolder.getContext().getAuthentication();
    }

    /**
     * 获取当前用户
     * @return
     */
    public static Object getCurrentPrincipal(){
        return getCurrentUserAuthentication().getPrincipal();
    }
}

你可能感兴趣的:(spring,security)