Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 신입개발자 프로젝트
- 세션단점
- ReverseProxy
- 구글 자바 스타일
- 프록시서버
- 세션장점
- GPT프로젝트
- jwt토큰원리
- Google Java Code Style Guide
- session단점
- 배열과 메모리
- jwt토큰관리
- session이뭔가요?
- 세션장단점
- jwt토큰구조
- 신입개발자
- 구글 자바 코드 스타일
- 메모리에서 배열
- 우아한테크코스 Google Java Style Guid
- session이란?
- 자바 코드 가이드
- session장점
- 토큰구조
- 백엔드 서버
- 포워드프록시
- jwt원리
- jwt란?
- 프로그래밍 배열
- Google Java Style Guide
- session이 뭔가요?
Archives
- Today
- Total
dev_dbdb1114
SpringSecurity 기본 로그인 Id/Pw 설정하기 ( DB구축이 없을 때 기능구현을 위한 로그인 ) 본문
프로그래밍/SpringSecurity
SpringSecurity 기본 로그인 Id/Pw 설정하기 ( DB구축이 없을 때 기능구현을 위한 로그인 )
dbdb1114 2023. 7. 19. 11:44이번 포스팅은 기록용으로 간단하게 springSecurity를 이용할 때 아이디와 패스워드 등을 설정하는 방법을 작성해보려고 한다. 보통 SpringBoot 프로젝트를 만들고 접속을 하면 아래와 같이 나오고 IDE 로그에 패스워드가 나온다.

필요한 이유 : 스프링 시큐리티를 사용하여 로그인을 구현하면, 내부적으로 User 객체를 이용하여 인증하는 방식을 통해 요청을 처리한다. 그렇다보니 LoadByUserName() 이나 UserDetail 인터페이스를 implement하여 사용하는 등 여러 방식이 있다.
이번 포스팅은 이런저런 상황에서 DB구축 없이 기능구현을 할 때 쓰면 되지 않을까 싶다.
내용은 간단하다. 이전 포스팅에서 작성했던 SecurityConfig에 Bean 설정을 추가했다.
PasswordEncoder
@Configuration
@EnableWebSecurity
public class ProjectSecurityConfig {
@Bean
public InMemoryUserDetailsManager userDeatilsService(){
UserDetails admin = User.withDefaultPasswordEncoder()
.username("admin")
.password("12345")
.authorities("admin")
.build();
UserDetails user = User.withDefaultPasswordEncoder()
.username("user")
.password("12345")
.authorities("read")
.build();
return new InMemoryUserDetailsManager(admin,user);
}
}
이렇게 설정해두면, admin / 12345로 로그인 가능하며, 그때의 권한 또한 각각 설정한대로 흘러간다.
로그인 기능뿐 아니라 권한을 염두에 둔 기능을 구현한다면, DB가 없을 땐 이런 방식으로 사용할 수 있을 것 같다.
어차피 차후에 oauth2 로그인을 하게 되면 어차피 provider나 userDetailService 등등 이런저런걸 만들어야하기 때문에 다 지우고 다시 해야하지만, DB가 없는 상황이라면 이런식으로 api에 때려박아서 개발을 진행해도 괜찮을 것 같다.
Comments