전체 글 (73) 썸네일형 리스트형 spring security DB를 이용한 로그인 구현 3 ( 로그아웃 하기 ) - 삽질중인 개발자 - logout - 이 포스팅에서는 로그아웃을 구현한다. 1. 로그아웃 버튼 만들기 스프링 시큐리티의 기본 로그아웃 url은 POST 메소드의 /logout 이다. LOGOUT 2. SecurityConfig.java (이전 포스팅 6번) 에 아래의 코드 추가 @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/member/**").hasAnyAuthority("MEMBER") .and() .formLogin()//로그인 폼 사용 .loginPage("/login")//커스텀 로그인 페이지 .successHandler(customAuthentication.. 스프링 시큐리티 DB를 이용한 로그인 구현 2 ( ajax 로그인 ) - 삽질중인 개발자 - spring security ajax login - 이 포스팅에서는 jQuery Ajax를 이용한 커스텀 로그인 페이지 구현을 할 것이다. 스프링 시큐리티에 기본 로그인 페이지는 로그인 실패시 페이지를 새로고침하고 쿼리스트링(localhost:8090/login?error)을 주는 방식으로 구현이 되어 있는데 이 방식으로 구현을 하면 페이지를 새로 띄워야 할 뿐만 아니라 입력했던 정보에 대해서 전부 사라지게 된다. 위에나오는 불편함을 해소하기 위해 요즘 나오는 대부분의 사이트를 로그인시 ajax를 이용해서 login을 한다. 1. LoginController.java 생성 스프링 시큐리티의 기본 로그인 url은 /login 이다. 이걸 커스텀하기위해 /login 을 재정의한다. 아래의 코드에서는 로그.. JAR vs WAR 차이점 - 삽질중인 개발자 JAR & WAR java 기반의 application의 배포 형태이다. JAVA JAR TOOL을 이용하여 압축한 압축 파일이다. ( 즉, 둘이 같은 압축 형태 ) JAR와 WAR는 사용 목적이 다르다. JAR Java ARchive path 정보를 유지한 상태로 압축한다. 자바 클래스 파일과, 각 클래스들이 사용하는 관련 리소스파일 및 메타데이터을 압축한 파일이다. 실제로는 ZIP 파일 포맷으로 압축된 파일이다. WAR Web application ARchive 웹 어플리케이션을 어떻게 설정할 지에 대한 정의가 있는 web.xml 파일이 있다. 자바 서버 페이지, 자바 서블릿, 자바 클래스, XML, 파일, 태그 라이브러리, 정적 웹페이지(HTML 관련 파일) 및 웹 application을 구성할 때.. HTTP 메소드 PUT , PATCH 차이 - 삽질중인 개발자 HTTP Method 중에 PUT와 PATCH는 리소스의 업데이트를 의미한다. 리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드처럼 보이지만 두개의 요청에는 약간의 차이가 있다. PUT : 리소스의 모든 것을 업데이트 한다. PATCH : 리소스의 일부를 업데이트 한다. 아래와 같은 회원이라는 리소스가 있다. 회원 (member) 1 이름 (name) 애용이 나이 (age) 10 성별 (gender) M 아래와 같은 요청을 보내면 PUT /members/1 { name : "홍길동", age : 19, gender : "M" } 회원 (member) 1 이름 (name) 홍길동 나이 (age) 19 성별 (gender) M 위와 같이 변한다. 이번에는 나이와 성별를 빼고 요청을 보내면 PUT /.. HTTP 요청 메소드 정리 - 삽질중인 개발자 HTTP 메소드의 종류 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT, TRACE HTTP 메소드의 사용법 1. GET 클라이언트가 서버에 리소스를 요청할 때 사용 ( CRUD 에서 Read ) 2. POST 클라이언트가 서버의 리소스를 새로 만들 때 사용 ( CRUD 에서 Create ) 3. PUT 클라이언트가 서버의 리소스를 수정 할 때 사용 ( CRUD에서 Update : 전체 수정 ) 4. PATCH 클라이언트가 서버의 리소스를 수정 할 때 사용 ( CRUD에서 Update : 일부 수정 ) 5. DELETE 클라이언트가 서버의 리소스를 삭제 할 때 사용 ( CRUD에서 Delete ) 6. HEAD 클라이언트가 서버의 정상 작동 여부를 확인 할.. 스프링 시큐리티 DB를 이용한 로그인 구현 1 ( 회원 설정 및 일반 로그인 ) - 삽질중인 개발자 - spring security 로그인 (mariaDB) - 스프링 시큐리티 스프링 기반의 보안 관련 프레임워크이다. 스프링 시큐리티를 사용하면 보안에 관련된 옵션을 자동적으로 구현해주기에 우리가 어느정도 신경을 안써도 된다. 개발 환경 - spring boot 2.2.5.RELEASE - jpa ( 이거 무조건 배우자 ) - mariaDB ( JPA 사용하면 oracle , h2 기타 등등 모든 DB 가능 ) - jsp jpa를 사용해서 DB를 다룰건데 jpa가 아닌 mybatis를 이용해서 구현할때 중간중간에 어떤 코드가 들어가야 하는지 써놨다. 이 포스팅에서는 우선 로그인을 시켜볼 것이다. 하기전에 application.properties 에 가서 미리 설정하자. ( 한글로 써둔 부분은 알아서 채우.. [java , javascript ] 비밀번호 정규 표현식 (숫자,영문,특수문자 각 1개 이상) - 삽질중인 개발자 숫자, 영문, 특수문자 각 1자리 이상이면서 8자에서 16자 사이 통과 ex) test1234% (O) ex) test12341234 (X) ex) test123 (X) ex) test123!@가나다 (O) ^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[$`~!@$!%*#^?&\\(\\)\-_=+]).{8,16}$ 숫자, 영문, 특수문자 각 1자리 이상 ( 그외 글자 X ) ex) test1234% (O) ex) test12341234 (X) ex) test123 (X) ex) test123!@가나다 (X) ^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[$`~!@$!%*#^?&\\(\\)\-_=+])(?!.*[^a-zA-z0-9$`~!@$!%*#^?&\\(\\)\-_=+]).{8,1.. [ google smart lock ] 자동으로 채우기 막기 이곳 저곳 찾다보면 여러가지 방법이 나오지만 사람들마다 다 다른것 같다. 이 중에서 되는거 하나 골라서 사용하면 된다. google smart lock 은 기본적으로 input[type=password] 인 경우 password input 위에 있는 input tag 랑 password input 이랑 같이 인식을 한다. 즉, 브라우저에서 password input을 인식 못하게 하면 된다. 1. readonly onfocus="this.removeAttribute('readonly');" 주기 이 방법을 쓰면 브라우저에서 처음 열릴 때 readonly 라서 접근을 못한다. 하지만 사용자가 마우스로 포커스를 맞추면 readonly 속성을 제거하는 방법이다. 2. autocomplete="off" 주기 f.. 이전 1 ··· 3 4 5 6 7 8 9 10 다음