<repository>
<id>u2ware-mvm-repo</id>
<url>https://raw.github.com/u2ware/u2ware.github.com/mvn-repo/</url>
</repository>
<dependency>
<groupId>io.github.u2ware</groupId>
<artifactId>spring-security-u2ware</artifactId>
<version>1.5.18.RELEASE</version>
</dependency>
spring-security-u2ware 는 spring-boot-1.5.18.RELEASE , spring-security-4.2.10.RELEASE 기반으로 동작합니다.
spring-security 는
Cookie 에 저장된 Token 값을 분석하여 RememberMeServices
를 구현하는
TokenBasedRememberMeServices
와 PersistentTokenBasedRememberMeServices
를 제공하고 있습니다.
이와 동일한 방식으로 spring-security-u2ware 는 Cookie 대신에 Header 를 이용하여 RememberMeServices
를 구현한 HeaderTokenBasedRememberMeServices 와 PersistentHeaderTokenBasedRememberMeServices 를 제공합니다.
또한, 3rd-party SSO(Single Sign On) 제품과 연동하여 RememberMeServices
를 구현해야 할 때, AbstractRememberMeServices 를 상속 받아서 구현 할 수 있습니다.
import org.springframework.security.web.authentication.rememberme.support.AbstractRememberMeServices;
public class YourSsoRememberMeService extends AbstractRememberMeServices{
protected YourSsoRememberMeService(String key, UserDetailsService userDetailsService) {
super(key, userDetailsService);
}
@Override
protected Authentication loadRememberMe(HttpServletRequest request, HttpServletResponse response) {
// 3rd-party SSO 를 이용하여 로그인 여부를 확인 합니다.
// String username = ....
// Authentication auth = super.createAuthentication(request, username);
// return auth;
return null;
}
@Override
protected void saveRememberMe(HttpServletRequest request, HttpServletResponse response, Authentication auth) {
// (필요에 따라) 로그인 성공 정보를 3rd-party SSO 에 전달합니다.
}
@Override
protected void cancelRememberMe(HttpServletRequest request, HttpServletResponse response, Authentication auth) {
// (필요에 따라) 로그인 실패 또는 로그아웃 정보를 3rd-party SSO 에 전달합니다.
}
}
spring-security-u2ware is Open Source software released under the Apache 2.0 license.