http://www.topcredu.co.kr/sub/crcl/view/java/2313
★ 교육개요 ★
Spring boot | Spring Boot 소개 Spring Boot & Maven Spring Boot & Gradle Writing the code(Spring Boot main) Writing the code(CommandLineRunner) Spring Boot에서 property 파일 읽기 |
---|---|
Spring Security | 1장. Application Security 스프링 시큐리티의 기반기술 1. Acegi Security 선언적인 시큐리티 설정 지원 2. Spring Security 스프링 시큐리티 작동방식 스프링 시큐리티의 장점 3. Spring Security Filter Chain Integration Filter Authentication Processing Filter Exception Translation Filter Filter Security Interceptor 4. Authentication Manager Supported Authentication Types Access Decision Manager Authentication vs Authorization 5. 핵심 클래스 6. 커스텀 DAO로직과 시큐리티의 연동 7. Spring Security Modules 8. Dependencies with Maven Optional dependencies 2장. Spring Security XML-config 1. 새 프로젝트 생성 2. Dependencies pom.xml 3. Presentation Layer ExampleController.java basics.jsp 4. Security Configuration src/main/webapp/WEB-INF/spring/spring-security.xml 필터들의 연결 순서와 역할 5. Spring Security and Spring MVC Integration web.xml 6. Test 7. Custom Login Page spring-security.xml Cross Site Request Forgery (CSRF) Protection basics.jsp login.jsp LoginController 8. Test 9. 인증정보를 다른 파일로 분리 spring-security.xml src/main/resources/conf/users-config.xml Test 10. Customize 403 Access Denied Page RoleVoter AuthenticatedVoter 스프링 시큐리티에 포함된 SpEL 메소드와 가상프로퍼티 Test : 에러 메시지가 그대로 노출 3장. Spring Security Java-config Technologies used Few Notes 1. 새 프로젝트 생성 2. Spring Security Dependencies 시큐리티 환결설정 기본 값 3. Spring MVC Web Application HelloController.java hello.jsp admin.jsp 403.jsp 4. Spring Security Configuration SecurityConfig.java AuthenticationManagerBuilder 인메모리 저장소 설정 메소드 URL에 시큐리티를 적용하기 위한 HttpSecurity 설정 메소드 access() 메소드에서 사용 가능한 SpEL 표현식 SpringSecurityInitializer.java 5. Spring MVC Configuration AppConfig.java SpringMvcInitializer.java 6. XML 설정 지우기 web.xml 7. Test 4장. Access Handler XML 설정 새 프로젝트 pom.xml application.properties DataController.java home.jsp LoginController.java login.jsp 403.jsp SpringSecurity6AccessHandlerApplication.java conf/security-config.xml MyAuthenticationSuccessHandler.java MyAccessDeniedHandler.java MyLogoutSuccessHandler.java Test 자바 설정 SpringSecurity6AccessHandlerApplication.java Test 5장. Security Authentication Using Database 1. Technologies used : 2. 새 프로젝트 생성 3. Project Dependencies pom.xml 4. Database Insatall MariaDB 데이터베이스 생성 및 테이블 만들기 5. Spring Security Configuration root-context.xml spring-security.xml web.xml 6. JSP Pages hello.jsp admin.jsp login.jsp 403.jsp 7. Spring MVC Controller MainController.java 8. Test 6장. Spring Security Remember-me Technologies and tools used : Some quick notes : Project workflows : 1. 새 프로젝트 생성 2. pom.xml 3. SQL 4. spring-security.xml web.xml 5. root-context.xml 6. admin.jsp 7. login.jsp 8. update.jsp 9. MainController.java 10. Test 오토 로그인 확인 테스트 7장. Spring Security Tag Library 1. 새 프로젝트 생성 2. pom.xml 3. spring-security.xml web.xml 4. users-config.xml 5. basics.jsp 6. BasicController.java 7. Test 8. 조금더 살펴보기 SecretController.java spring-security.xml basic.jsp Test 9. @Secured pom.xml servlet-context.xml 설정 시 주의사항 basic.jsp User.java UserService.java UserServiceImpl.java UserController.java Test 8장. Spring Security + Boot + JPA 1. 새 프로젝트 생성 2. pom.xml 3. application.properties 4. Spring Boot Java-config 5. SecurityTestController.java 6. View 7. Test Run log 정보 첫 페이지 테스트 spring-boot-starter-security 디펜던시 favicon 적용 8. Spring Security Config SecurityConfig.java home.jsp SecurityTestController.java 9. Test In Memory Authentication 10. Spring Data JPA Test 11. Spring Security + My Custom DAO Service Logic Test 9장. Session Management session-fixation-protection="migrateSession" 작동확인 |
Spring Social | 1장. Spring Social Core 1.1.4 Release 1. Spring Social Core 소개 2. Spring Social Module 3. Spring Social Dependencies 4. Service Providor Connect Framework 5. OAuth2 service providers 2장. Spring Social Facebook 2.0.3 Release 1. Spring Social Core 소개 2. Facebook 연결 설정 3. Facebook API 바인딩 4. 사용자의 프로파일 검색하기 5. 사용자의 페이스북 친구 검색하기 6. 메시지 포스팅 및 읽기 7. Spring Social Facebook을 이용한 로그인 Spring Boot, MAVEN 형태로 프로젝트 생성 pom.xml application.properties 자동생성된 스프링 부트 메인(FacebookloginApplication.java) HelloController.java src/main/resources/templates/hello.html src/main/resources/templates/connect/facebookConnect.html src/main/resources/templates/connect/facebookConnected.html 실행결과 8. Spring Social Twitter 을 이용한 로그인 Spring Boot, MAVEN 형태로 프로젝트 생성 pom.xml application.properties HelloController.java src/main/resources/template/hello.html src/main/resources/template/connect/twitterConnect.html src/main/resources/template/connect/twitterConnected.html 실행결과 3장. Thymeleaf 4장. Spring Boot + JPA + Security + Social 필요한 기능 요약 페이스북 연동을 위한 애플리케이션 등록 트위터 연동을 위한 애플리케이션 등록 새 프로젝트 만들기 pom.xml 디펜던시 추가 설정파일 작성 application.properties 모델 구현 BaseEntity.java Role.java SocialNetworkService.java User.java MySocialUser.java RegistrationForm.java 밸리데이터 구현 ValidatorUtil.java PasswordsNotEmpty.java PasswordsNotEmptyValidator.java PasswordsNotEqual.java PasswordsNotEqualValidator.java 리파지터리 구현 UserRepository.java 서비스 구현 MyUserDetailsService.java MySocialUserDetailsService.java 환경 설정 PersistenceContext.java SecurityContext.java SocialContext.java WebAppContext.java ApplicationContext.java src/main/resources/i18n/messages.properties ApplicationConfig.java 로그인 처리 LoginController.java login.jsp src/main/webapp/static/css/social-buttons-3.css 로그인 페이지 화면 신규회원 등록 처리 SignUpController.java DuplicateEmailException.java UserService.java SecurityUtil.java RegistrationController.java schema.sql registrationForm.jsp src/main/webapp/static/js/app/user.form.js RepositoryUserService.java 메인화면 처리 HomeController.java home.jsp 테스트 시나리오 1-1. 신규회원 가입 후 로그인 1-2. 기존회원 직접 아이디/패스워드를 입력하여 로그인 1-3. 로그아웃 2-1. 신규회원 페이스북 연동하여 회원가입 후 로그인 2-2. 기존회원 페이스북 연동하여 로그인 3-1. 신규회원 트위터 연동하여 회원가입 후 로그인 3-2. 기존회원 트위터 연동하여 로그인 5장. OAuth OAuth 1.0 OAuth 1.0a OAuth 2.0 Spring Security OAuth 네이버 아이디로 로그인 OAuth의 작동방식과 용어의 이해를 위한 예 OAuth 인증과정 정리 |