본문 바로가기
728x90
반응형

Development/Java67

[SpringSecurity]Spring Reference 수정 백기선님의 Spring Boot 레퍼런스 동영상을 보다 보니 레퍼런스도 한번 쭉~~ 살펴볼 필요가 있겠다 싶은 생각이 들었다. 그럼 뭘 볼까? 라고 생각 하다가 Spring Security 를 보기로 결정 했다. 기간을 가지고 보는것은 아니고 그냥 처음부터 차근차근 정리 하면서 읽어보자라고 생각을 했다. 그런데 보다보니 약간 이상한게 있었다. 위 내용은 레퍼런스에 나오는 5.2장 HttpSecurity 부분이다. 이상하다고 생각한 부분은 "However ~~~~~" 단락이다. 대체 뭘 어떻게 한다는 의미인지 알수가 없었다. 대체 커스텀 로그인 페이지를 만들때 뭘 조심하라는건지. Url이 RESTFul 한데 뭘 어쩌라는건지. 그리고 정보 유출을 막기위해 Spring security 를 사용하는것이 뭐가 분.. 2018. 4. 21.
[SpringBoot] @Mock, @MockBean 차이가 뭘까? 테스트 케이스를 작성하다가 좀 헷갈리는게 있었다. @Mock, @MockBean 차이가 뭐지??? 쓰긴 하고 있는데 알고 써야 하지 않을까라는 의문이 들었다. 그래서 찾아봤다. 먼저 Mock 객체를 선언할 때에는 2가지 방법이 있다. 1. 첫번째 : mock() 을 이용해서 선언 1 2 3 4 5 6 7 8 9 10 11 12 @RunWith(MockitoJUnitRunner.class) public class UserServiceTest { @InjectMocks private UserService userService; UserRepository userRepository = mock(UserRepository.class); @Test public void findByEmail_test(){ when.. 2018. 4. 10.
[SpringBoot]Spring Boot Oauth login With Facebook 삽질기!!! https://spring.io/guides/tutorials/spring-boot-oauth2/ 위 사이트에 가면 Spring boot 를 이용해서 Oauth를 이용해서 Login 을 할 수 있는 샘플을 만들어볼 수 있다. 그래서 나도 해봤는데.. 그게 삽질의 시작이었다...Tutorial 자체는 그렇게 어렵지 않게 따라 할 수 있다. 따라하기가 어렵다면 Git에서 소스를 내려 받아서 해볼 수도 있다. 이제 이 Tutorial 을 진행하기 위해서 Facebook Developer 사이트에서 앱을 등록을 해야 한다. 그래야 Client Id 하고 Client Secret을 받을 수 있다. https://developers.facebook.com 위 사이트에 들어 가면 본인의 Facebook 계정으로 앱을.. 2018. 3. 4.
작성중-[SpringBoot] ClassPathResource 의 getFile() 사용시 FileNotFoundException 발생 ClassPathResource resource = new ClassPathResource(resourcePath);File file = resource.getFile(); 위와 같이 코드를 작성해서 로컬에서 실행했을 때에 아무 문제 없이 동작을 하던 것이 war File 로 배포한 후에 동작을 시켰을 때에 에러가 발생을 했다. class path resource [img/header.jpg] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/home/xxxxadmin/lib/xxxxxxxxx.war!/WEB-INF/classes!/img/header.jpg java.io.File.. 2018. 1. 12.
[Spring-Data-JPA]Auditing을 추가해보자 테이블을 설계할때 항상 빠지지 않고 들어있는 컬럼이 있다. 바로 생성일자, 수정일자, 생성자, 수정자 컬럼이다. 거의 모든 테이블에 디폴트로 들어있는 컬럼이고 상당히 중요한(?) 정보이다. 그렇다 보니 도메인에도 항상 똑같은 컬럼이 존재하게 된다. 그런데 spring-data-jpa에 재미난 기능이 있다. 바로 생성일자, 수정일자, 생성자, 수정자 컬럼에 값을 자동으로 넣어주는 기능이다. Audit : 감시하다. 바로 spring-data-jpa 에서는 audit 기능을 제공하고 있다. 방법은 여러가지가 있다. 각 도메인에 @PrePersist, @PreUpdate 등을 붙여서 할수도 있다. 그런데 이게 단점이 각각의 도메인에 같은 컬럼이 정의되어있다는 것은 변하지 않는다는 것이다. 모든 도메인에 똑같이.. 2017. 12. 13.
[Spring Security] Max Session 적용하기 기존 소스에 동시 로그인을 제어하기 위해서 Maxsession 설정을 넣어보았다. 1234567891011121314151617181920212223@Configurationpublic class ResourceSecurityConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .authorizeRequests() .antMatchers("/", "/login/**","/browser/**", "/error/**").permitAll() .antMatchers("/private/**").auth.. 2017. 11. 20.
[Spring Boot]RabbitMQ 연동하기 Spring Boot에서 RabbitMQ 를 연결을 해보자.원래는 AWS에 있는 Ubuntu 서버에 설치를 한후 연결을 하려고 했다. 그런데 설치까지는 문제가 없이 잘 진행 됐는데 이상하게 SpringBoot에서 연결 하려고 하면 Connection Refuse가 계속 나와 몇일을 보냈다. port를 안연것도 아니고, management 콘솔은 15672포트로 잘만 접속 되는데 5672포트로 연결 하려고만 하면 안됐다. 오늘까지 하다가 안되면 GG 치려고 했다. 실제로 GG 치고 로컬에 깔고 진행을 했다.그래서 정상 작동하는거 보고 혹시나 해서 다시 AWS에 있는 Rabbit MQ에 접속을 시도해 봤는데 됐다... 왜 되는거지???? --_--;; 대체 이것때문에 쌩쑈를 몇일을 했는데. 어쨌든 되니깐 좋.. 2017. 10. 27.
[Spring Boot]Rest API 호출을 위한 Client Code 공부하면서 만든 Oauth Server에 대한 테스트를 Postman으로는 했는데 실제로 Client Code가 필요하게 되었다. 2017/09/04 - [Development/Java] - [Spring Boot]Oauth server 적용해보기 테스트만 할 경우에는 Postman만 써도 상관이 없지만 실제 Client 가 호출을 하려면 code가 필요하다. 그래서 여기저기 구글링을 해가면서 찾아봤다. 우선 Oauth Token을 발급 받기위한 코드가 필요하다. 12345678910111213141516171819202122232425262728public String getOAuth2Token(String username, String password) { final String CLIENT_ID =.. 2017. 9. 14.
[Spring Boot]Oauth server 적용해보기 Spring Boot Project에 OauthServer를 설정해보았다. 소스는 https://github.com/blusky10/study_spring 의 simple-spring-oauth 브랜치를 다운로드 받으면 된다. Client 는 private이라는 api에 접근하기 위해서 oauthserver 에 token 발급 요청을 한다. 발급된 token을 가지고 private이라는 api에 접근한다. (Client 는 미리 등록되어있다고 가정한다. 따라서 Client를 Oauth서버에 등록하는 과정은 생략된다.) 1. 먼저 ResourceServer를 설정한다. ResourceServer는 Resource Owner의 정보를 가지고 있는 서버를 의미한다. 1 2 3 4 5 6 7 8 9 10 11 .. 2017. 9. 4.
728x90
반응형