목록분류 전체보기 (85)
경주장
Post방식으로 Client가 username, password를 전송한다. Server는 Session을 생성하고 Session에 최종 성공한 인증 결과를 담은 Authentication 타입의 객체를 포함한 Security Context를 생성하고 이것을 Session에 저장함 : 인증성공! 다시 요청이 들어오면 인증을 받은 사용자의 요청에 포함된 세션 인증 토큰의 존재여부 판단 한다. protected void configure(HttpSecurity http) throws Exception { http.formLogin() .loginPage("/login.html") // 사용자 정의 로그인 페이지 .defaultSuccessUrl("/home")// 로그인 성공 후 이동 페이지 .failure..
@Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest().authenticated() .and() .formLogin(); } } 모든 요청에 대해 인증을 받도록 요구하는 authorization 폼 로그인인증을 제공 spring: security: user: name: user password: 1234 application.yml => 기본 유저 고정
스프링 시큐리티 의존성 추가 org.springframework.boot spring-boot-starter-security 2.6.2 pom.xml 모든 요청에 인증 요구 폼 로그인 방식과 HttpBasic 로그인 방식 제공 기본 로그인 페이지 제공
자바지기 박재성님의 오픈 강의를 따라가던 중 서버를 띄우는 과정에서 정적 파일을 로딩하지 못하는 문제를 만났다. => 정적파일을 static 폴더로 모두 옮기고 타임리프를 적용하니 정상적으로 로딩이 되었다. 참고한 포스팅: https://universecoding.tistory.com/80
MySQL 설치 apt-get install mysql-server Root 비밀번호 설정 및 접속방식 변경 service mysql stop mysqld_safe --skip-grant-tables & mysql -u root mysql> use mysql; mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root'; mysql> update user set plugin='mysql_native_password' where user='root'; mysql> flush privileges; mysql> quit # service mysql stop # service mysql start ..
Open JDK 설치 (Oracle JDK가 잘 설치되지 않아 Open JDK로 진행하였습니다) $ wget https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz $ gunzip openjdk-11_linux-x64_bin.tar.gz $ tar -xvf gunzip openjdk-11_linux-x64_bin.tar.gz 우분투 심볼릭 링크 (바로가기 설정) .bash_profile 작성 후 source해서 Java경로 지정 $ java --version openjdk 11 2018-09-25 OpenJDK Runtime Environment 18.9 (build 11+28) OpenJDK 64-Bit Server VM 18.9..
반복 학습 및 다시 볼때 편하기 위해 작성하는 유투브 영상 요약 1-4~ 1-5과정은 익숙하지 않아 헷갈리는 과정을 기록하겠습니다. AWS 인스턴스 생성 생성시 보안 규칙/인바운드 규칙에 TCP 8080포트 개방 규칙을 추가 (Tomcat용) Putty를 이용한 EC2 접속 22번 ssh포트를 이용해서 접속 기본 아이디 - ubuntu 로접속 계정생성 adduser 아이디 루트 권한 부여 : sudo vim /etc/sudoers -> root 밑에 한줄 추가 .bash_profile 작성 후 source하기! LANG="ko_KR.UTF-8" LANGAUGE="ko_KR:ko:en_US:en"
1:N관계를 가진 team, member 엔티티에서 발생할 수 있는 여러 쿼리를 실행해보자 모든 멤버의 이름 String jpql = "select m.username from Member m"; Fetch 옵션을 레이지로 두었기 때문에 SQL에서는 요청하지 않은 Team에대한 쿼리는 전혀 없이 SELECT m.username from Member m 쿼리 한방으로 이름만 잘 긁어 올 수 있었다. 모든 멤버 String jpql = "select m from Member m"; 이때 멤버 인스턴스에는 team이 proxy로 들어가 있으며 proxy의 메소드를 호출하면 그때 jpa는 각 team id의 정보를 얻기위해 쿼리(where in문)를 발생시킨다. 모든 멤버, 조인문 String jpql = "s..
Team의 Member Entity에 영속성 전이 옵션에 PERSIST를 넣으면 팀만 persist해도 member가 모두 persist된다. @Entity public class Team{ ... @OneToMany(mappedBy = "team", cascade = PERSIST) private List members = new ArrayList(); ... } 해당 옵션을 제거하면 Member는 삽입되지 않는다. cascade = PERSIST 옵션이 들어가 있을때에도 Insert 쿼리는 em.flush( )를 호출하는 시점에 발생하기 때문에 팀의 참조를 영속화하는 em.persist(team1), em.persist(team2)의 호출 시점은 team 생성 직후 여도 상관없다. 멤버를 삽입해서 팀..
매주 일요일목요일...을 마감으로 생각해서 백기선님의 온라인 자바 스터디를 진행하겠습니다. GitHub - whiteship/live-study: 온라인 스터디 온라인 스터디. Contribute to whiteship/live-study development by creating an account on GitHub. github.com 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 자바 가상 머신(Java Virtual Machine, JVM)은 자바 바이트코드를 실행할 수 있는 주체이다. 일반적으로 인터프리..