전체 글 (85) 썸네일형 리스트형 [Security] 접근권한 오류시 설정 에러메시지 redirect 쿠키나 세션에 특정 작업을 해놓는 것 response에 특정 헤더 정보를 추가 등등 ,,,, =====> 스프링 시큐리티는 AccessDeniedHandler 를 구현하여 설정 가능 ajax로 실시간 오픈 채팅 구현하기(spring, thymeleaf, jpa) vs. 웹소캣 채팅 오픈 채팅을 만들어봤다. - 채팅 Entity - 채팅 Controller - openChat div - 결과 모습 AJAX 를 이용한 실시간 채팅 구현은 setInteval() 함수를 이용해 계속해서 client가 설정된 초에 한번씩 요청을 보낸다 반면, websocket을 이용해서 채팅을 구현하면 웹서버가 연결 지속 상태를 유지하기 때문에 client 요청 없이도 자료를 전송한다. 웹 소켓은 사용자의 브라우저와 서버 사이의 인터액티브 통신 세션을 설정할 수 있게 하는 고급 기술입니다. 개발자는 웹 소켓 API를 통해 서버로 메시지를 보내고 서버의 응답을 위해 서버를 폴링하지 않고도 이벤트 중심 응답을 받는 것이 가능합니다. 참고 : https://leleluv1122.github.io/springbo.. [Security] spring security가 제공하는 디폴트 계정의 username, password 변경하기 application.properties 파일에서 카카오맵를 한 페이지에 여러개 가져오는 경우 - 비동기 땀땀 프로젝트 진행하면서 운동 크루들이 모임을 등록할 때 모임 하는 장소를 입력 받았다. 입력된 모든 모임을 보여주는 페이지에서 각 모임 정보 위에 입력한 주소에 맞는 카카오맵을 가져와서 보여주고 싶었다. - 처음에 상상했던 페이지 처음에는 단순히 각 지도를 불러오는 부분에서 카카오맵 API를 불러오면 된다고 생각했다. 그래서 카카오맵 API로 제공되는 js 코드를 맵이 들어올 자리 밑에 붙여놓았다. mapContainer : 지도를 표시해줄 div id를 저장한다. map : 지도를 생성한다. (mapContainer 의 값도 가지고 있다) addressSearch : 입력된 주소로 지도의 중심으로 옮기고 마커를 찍는다. 결과는 마지막 지도의 값만 제대로 가져왔다. 첫번째와 두번째 지도에는 마커도 없고.. [Security] 회원 가입 하나의 계정에 복수개의 권한 부여 가능. 계정 : 권한 = 1 : N ex) DB 저장시 password 는 반드시 암호화 해서 저장되어야 함. 암호화는 Spring Security의 PasswordEncoder 사용 ex) [Security] Authentication, Authorization, 시큐리티 기본 메커니즘 Authentication : 인증(자신을 증명) 시스템 접근 시, 등록된 사용자인지 여부를 확인하는 것 ex) 로그인 Authorization : 인가(권한을 부여) 접근 후, 인증된 사용자에게 권한을 부여하는 것 남에 의해서 자격이 부여된 것 권한에 따라 사용 가능한 기능이 제한됨 ex) 사용자 등급(일반/VIP/관리자) 서버로 들어오는 request를 처리하기 전에 보안체크부터 해야함. => Spring security는 서블릿 프로그래밍의 filter 객체를 사용하여 이를 구현한다. Security와 관련한 서블릿 필터도 실제로는 연결된 여러 필터들로 구성 되어 있음. 스프링 시큐리티에서 말하는 Username 은 다름 아닌 id를 말하는 것 일단 시큐리티가 적용되면, Security Filter.. data.sql H2 : in-memory DB, 따라서 Test 실행할 때 생성되고, Test 실행 끝나면 소멸됨 스프링에서 테스트할 때 기본적인 데이터 넣고 시작할 때 data.sql 이용하면 편리하다. data.sql 을 /resources 하위에 두면 JPA가 로딩할 때 해당 쿼리들을 자동으로 한번 실행해줌. + application.properties 에서 설정해줘야하는 것들 # 기본적으로 data.sql 은 Hibernate 가 초기화 되기전에 수행된다. # Hibernate 에서 생성한뒤 data.sql 이 수행되게 하려면 아래설정을 해주어야 한다 spring.jpa.defer-datasource-initialization=true # JPA에서 생성되는 SQL 문을 콘솔 출력 spring.jpa.show-.. 1: N 관계 매핑 회원 : 대출 = 1 : N 회원.java(Member) @JsonBackReference @OneToMany(mappedBy="member", fetch = FetchType.LAZY, cascade=CascadeType.ALL) private List lends; 대출.java(Lend) @ManyToOne @JoinColumn(name = "member_id") @JsonManagedReference private Member member; 이전 1 2 3 4 5 6 7 ··· 11 다음