Spring Security中在Controller中获得用户信息

  使用Spring Security来实现权限管理

  首先实现org.springframework.security.core.userdetails.UserDetailsService 接口中 loadUserByUsername 方法.

  方法返回org.springframework.security.core.userdetails.UserDetails接口,也可以返回Spring自带的实体org.springframework.security.core.userdetails.UserDetails.User

  这个User是实现了UserDetails接口,还可以自定义一个实现UserDetails接口的自己的类就行了.

  然后在Controller中,调用以下方法可以获得User信息.

  

import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;

    SecurityContext ctx = SecurityContextHolder.getContext();
    Authentication auth = ctx.getAuthentication();
    User user = (User) auth.getPrincipal();


你可能感兴趣的:(Spring Security中在Controller中获得用户信息)