일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- springboot
- 싱글톤
- StyleSheet
- 2차원배열
- input태그
- 시큐리티
- 소스트리
- programmers
- JAVA11
- 스프링 부트
- Spring boot
- 목록
- 리눅스
- springSecurity
- 시큐리티로그인
- javascript
- 코딩테스트
- java
- 시큐리티 로그아웃
- security
- sql
- 시큐리티 로그인
- 반복문
- 로그인
- Linux
- html
- css
- 프로그래머스
- gradle
- codingtest
- Today
- Total
목록전체 글 (140)
JAVAIARY

1. DB -- 자동 로그인 테이블 create table persistent_logins ( username varchar(16) not null, series varchar(64) primary key, token varchar(64) not null, last_used timestamp not null); 2. Spring 1) security-context 2) loginForm checkbox name="remember-me" 3. 확인 자동로그인 체크박스를 체크한 채로 로그인 remember-me 쿠키 생성 확인 persistent_logins table에 토큰이 추가된 것 확인 브라우저 종료 후 다시 sample/admin 페이지로 접속 네트워크를 확인하면 'remember-me' 쿠키의 정..

표현식 설명 hasRole( [role] ) hasAuthority( [authority] ) 해당 권한이 있으면 true hasAnyRole( [role,role2]) hasAnyAuthority([authority]) 여러 권한들 중에서 하나라도 해당하는 권한이 있으면 true principal 현재 사용자 정보를 의미 permitAll 모든 사용자에게 허용 denyAll 모든 사용자에게 거부 isAnomymous( ) 익명의 사용자의 경우(로그인을 하지 않은 경우도 해당) isAuthenticated( ) 인증된 사용자면 true isFullyAuthenticated( ) Remember-me로 인증된 것이 아닌 인증된 사용자인 경우 true 대부분 true/false 리턴 조건문 형식과 비슷 /s..

1. taglib 추가 2. 불러올 정보 태그로 불러오기 admin.jsp /sample/admin page principal : MemberVO : 사용자이름 : 사용자아이디 : 사용자 권한 리스트 : 로그아웃 property="principal.member"를 통해 반환되는 것은 UserDetailsService에서 반환된 객체 = CustomUserDetailsService 에서 dto를 담아 반환된 (생성된)CustomUser() 객체 @Override public UserDetails loadUserByUsername(String user_id) throws UsernameNotFoundException { MemberDto dto=null; log.warn("Load User By UserNa..

1. DB 생성 -- 시큐리티 권한 테이블 create table user_auth ( user_id varchar(16) not null, auth varchar(50) not null ); -- 시큐리티 권한테이블 fk생성 alter table user_auth add FOREIGN KEY(user_id) REFERENCES tb_user(user_id) ON DELETE CASCADE; 권한테이블에 아이디에 맞는 권한을 설정해 넣어준다. ex ) -- 관리자 INSERT INTO public.user_auth (user_id, auth) VALUES('admin', 'ROLE_ADMIN'); 2. Mybatis 설정 1) Mapper 생성 select tb_user.user_id, user_pw, ..
@AllArgsConstructor : 모든 변수가 포함된 생성자 @NoArgsConstructor : 변수가 없는 생성자. 기본 생성자 @Builder : 원하는 변수만을 넣어 만든 생성자 @Getter : private 변수를 받아올 수 있게 해주는 getter생성 @Setter : private 변수에 assign 할 수 있게 해주는 setter 생성 @Data : 위 다섯 가지 기능을 모두 가지고 있음 필요에 따라 5가지를 각각 나누어 사용하는 것이 바람직함 (불필요한 getter / setter 남용은 객체 변경의 위험이 있기 때문에 안정성이 떨어짐) 따라서 무조건 @Data를 쓰는 것은 지양하여야 함

1. 문제 : 빌드가 안돼서 오류가 뜸 2.원인 Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customUserDetailsService': Unsatisfied dependency expressed through method 'setMemberMapper' parameter 0; nested exception is org.springframework.beans.factory.NoS..

1. 오류 remove annotation이 자꾸 recommend됨 2. 해결 project - properites - java compiler JDK Compliance 버전 맞춰주기 3. 결과

1. 로그인 처리 로그인 한 사용자에게 부여된 권한 (Authentication) 객체를 이용해 사용자가 가진 모든 권한을 문자열로 체크하여 사용자가 권한을 가졌다면 로그인 후 바로 권한 페이지로 이동할 수 있게 해 주기 1) AuthenticationSuccessHandler 구현 @Log4j public class CustomLoginSuccessHandler implements AuthenticationSuccessHandler { @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication auth) throws IOException, Servle..