일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스칼라 동시성
- 스칼라
- Akka
- 파이썬 동시성
- Actor
- 파이썬
- Adapter 패턴
- 파이썬 데이터분석
- 그라파나
- 스칼라 강좌
- play2 강좌
- 플레이프레임워크
- 블록체인
- 엔터프라이즈 블록체인
- 이더리움
- 주키퍼
- 안드로이드 웹뷰
- Hyperledger fabric gossip protocol
- 스위프트
- 파이썬 강좌
- Play2 로 웹 개발
- Golang
- 파이썬 머신러닝
- CORDA
- akka 강좌
- play 강좌
- 하이퍼레저 패브릭
- Play2
- 하이브리드앱
- hyperledger fabric
- Today
- Total
HAMA 블로그
스프링 시큐리티 기초 따라가기 (2) - Remember Me 본문
이번 연재에서는 이전에 만들었던 소스에 아래와 같은 기능을 추가할것이다.
Remember Me 기능
Remember Me 기능이란 사용자 세션이 종료(디폴트 30분?) 된 후에도 자동으로 로그인 할수있는 기능이다.
이것은 추가적인 쿠키를 저장 하는데 , 그 기간(디폴트 2주) 을 정하면 2주동안은 로그인 하지 않고도 인증할수있게된다. 쿠키는 username / expirationTime / password / key 와 이것들을 MD5 hash 로 인코딩한 정보를 포함한다.Remember Me 는 2가지 방법으로 구현가능한데 , 이 게시물에서는 심플 해쉬 기반 쿠키로 만들었다.
1. security-context.xml 파일에 리멤버 미 설정 추가
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">
<http auto-config='true' use-expressions="true">
<intercept-url pattern="/login" access="permitAll" />
<intercept-url pattern="/resources/**" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login"
default-target-url="/monitering"
username-parameter="username"
password-parameter="password"
authentication-failure-url="/login?error"
always-use-default-target='true'
/>
<logout invalidate-session="true"
delete-cookies="JSESSIONID,SPRING_SECURITY_REMEMBER_ME_COOKIE"
logout-success-url="/login?logout" />
<remember-me key="wmoskey" token-validity-seconds="2419200"/> <!-- 4 주 -->
<!-- enable csrf protection -->
<csrf/>
</http>
<authentication-manager>
<authentication-provider user-service-ref="memberService"/>
</authentication-manager>
<beans:bean id="memberService" class="com.company.wmos.auth.MemberService">
</beans:bean>
</beans:beans>
설명)
<remember-me key="wmoskey" token-validity-seconds="2419200"/> 를 추가하였다. (한줄이면됨)
key 와 유효기간 4주를 설정하였다.
delete-cookies="JSESSIONID,SPRING_SECURITY_REMEMBER_ME_COOKIE" 명시적으로 로그아웃
할때는 관련정보를 삭제하게했다.
'Spring' 카테고리의 다른 글
스프링 시큐리티 기초 따라가기 (3) - HTTPS (0) | 2015.07.15 |
---|---|
스프링 시큐리티 기초 따라가기 (1) - 환경설정 및 기본 로그인 시스템 (1) | 2015.07.13 |
Angular JS and Spring Security 1 ~4 편 (번역) (0) | 2015.07.11 |
Mybatis-spring 버전별 의존성 요구사항 (0) | 2015.07.10 |
component-scan / annotation-config / annotation-driven 차이점 (2) | 2015.07.09 |