spring security 현재 사용자 정보 및 권한 가 져 오기

1411 단어 springboot
spring security 현재 사용자 정보 및 권한 가 져 오기
1. 프로그램 에서 사용자 정보 얻 기
UserDetails userDetails = (UserDetails);
SecurityContextHolder.getContext().getAuthentication().getPrincipal();

프로그램 에서 권한 정보 가 져 오기
 Collection extends GrantedAuthority> authorities = userDetails.getAuthorities();

포장
UserService.java
public interface UserService {

	......

/**
     *         
     * @return
     */
    User getUser();

    /**
     *          
     * @return
     */
    Collection extends GrantedAuthority> getUserAuthorities();
	......

}

UserServiceImpl .java
@Service
public class UserServiceImpl implements UserService, UserDetailsService {

	......

@Override
    public User getUser() {

        UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        User user = (User)userDetails;
        return user;
    }

    @Override
    public Collection extends GrantedAuthority> getUserAuthorities() {
        UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext()
															 .getAuthentication()
															 .getPrincipal();
        Collection extends GrantedAuthority> authorities = userDetails.getAuthorities();
        return authorities;
    }
    ......
}

* 사용자 로그 인 은 캐릭터 에 따라 다른 페이지 로 이동

좋은 웹페이지 즐겨찾기