일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- laravel
- android imageView zoom
- mysql
- 창원에서 부산
- ImageLoad
- image zoom
- 낙동강 종주
- 부산에서 창원
- workbench
- NetworkImageView
- C언어
- volley
- 자바
- 로드바이크
- spring boot
- elk stack
- 구포에서 자전거
- 구조체
- 안드로이드 이미지 로드
- 부산에서 창원 자전거
- 구포에서 삼량진
- 삼량진
- android facebook
- c언어 구조체
- spring
- android loadImage
- 삼량진 자전거
- android ImageLoad
- 자전거
- httpclient post
Archives
- Today
- Total
은근한
Spring boot security Login 본문
Security 의 기본 설정인 websecurityconfigureradapter 관한 내용은 아래의 페이지를 참고하면 된다.
https://spring.io/guides/gs/securing-web/
Interface UserDetails
Interface UserDetailsService
* 클릭시 링크 이동
위의 두 인터페이스를 사용해서 로그인을 만들어 보려고 한다.
UserDetails 는 구현은 보안 목적으로 스프링 보안에 의해 직접적으로 사용되지 않는다.
단순히 인증 객체로 캡슐화 된 사용자 정보를 저장한다.
오버라이드 되는 메서드들
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return authorities;
}
@Override
public String getPassword() {
return password;
}
@Override
public String getUsername() {
return username;
}
@Override
public boolean isAccountNonExpired() {
return isAccountNonExpired;
}
@Override
public boolean isAccountNonLocked() {
return isAccountNonLocked;
}
@Override
public boolean isCredentialsNonExpired() {
return isCredentialsNonExpired;
}
@Override
public boolean isEnabled() {
return isEnabled;
}
UserDetailsService 는 사용자 특정 데이터를 가져올 수 있으며, 데이터를 가공하는 구현을 하는 Service에 주로 사용이 된다.
loadUserByUsername 메서드를 오버라이드 하는데
사용자 식별을 email로 하기위해 email로 변경해서 만들었다.
@Override
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
User user = userMapper.readUser(email);
user.setAuthorities(getAuthorities(user.getId()));
return user;
}
로그인을 만들기 위한 내용이 생각보다 길기에 우선 정리삼아 포스팅을 하는 것이고..
완성되면 하나씩 상세히 포스팅을 따로 할 예정이다.
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
위의 시큐리티 설정이 끝나면 WebSecurityConfigurerAdapter 클래스에 해당하는
protected void configure(HttpSecurity http) throws Exception
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception
이 두 메서드에 대해서 설정을 해줘야한다. 이에 관한 내용은 깃에 정리 되어 있다.
깃 주소는 https://github.com/liquidjoo/ryoko