단일 사인온 개념
SSO라고하는 단일 사인 온은 엔터프라이즈 비즈니스 통합에 가장 인기있는 솔루션 중 하나입니다. SSO의 정의는 여러 응용 프로그램 시스템에서 사용자는 상호 신뢰할 수있는 모든 응용 프로그램 시스템에 액세스하기 위해 한 번만 로그인하면됩니다. 로그인 로직은 위 그림에 나와 있습니다
스프링 패밀리 버킷을 기반으로 한 구현
기술 선택 :
고객:
Maven 의존성
<pectionency> <groupId> org.springframework.boot </groupid> <artifactid> 스프링-부트-스타터-web </artifactid> </fectionency> <groupIdency> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-security </expencivactid> <groupid> org.springframework.security.oauth </groupid> <trifactid> Spring-Security-Oauth2 </artifactid> </fectionement> <groupid> org.springframework.security </groupid> <artifactid> spring-security-jwt>
enableoauth2sso 주석
항목 클래스 구성 @@ enableoauth2sso
@SpringBootApplicationPublic Class PigsSoclientDemoApplication {public static void main (String [] args) {springApplication.run (pigsSoclientDemoApplication.class, args); }}구성 파일
보안 : OAUTH2 : 클라이언트 : 클라이언트 -ID : 돼지 클라이언트-서브 : 돼지 사용자 승인 -URI : http : // localhost : 3000/oauth/access-token-uri : http : // localhost : 3000/oauth/token spope : jwt : key-uri : http : // localhos : 3000/oogice. 세션 : 절대
SSO 인증 서버
인증 서버 구성
@configuration@order (integer.min_value) @enableAuthorizationSerVublicpublic class pigauthorizationconfig를 확장합니다 .secret (authserverconfig.getClientSecret ()) .authorizedGrantTypes (SecurityConstants.Refresh_Token, SecurityConstants.Password, SecurityConstants.authorization_code) .Scopes (AuthServerConfig.getScope ()); } @override public void configure (AwerizationSeRverendPointsConfiger EndPoints) {endPoints .TokenStore (new redistokenstore (readisconnectionFactory)) .AccessTokenConverter (jwtaccesstokenconVerter ()) .reusereReshTokens (false) .UserDetailsService (userDetailsService); } @override public void configure (AwerizationSeCerverseCurityConfigurer Security)는 예외 {security .allowformauthenticationforclients () .tokneyAccess ( "isauthenticated ()") .checktokenaccess ( "permitall ()"); } @bean public parbliceNcoder passwordEncoder () {return new bcryptpasswordencoder (); } @Bean public JWTACCESSTOKENCONVERTER JWTACCESSTOKENCONVERTER () {JWTACCESSTOKENCONVERTER JWTACCESSTOKENCONVERTER = NEW JWTACCESSTOKENCONVERTER (); JWTACCESSTOKENCONVERTER.SETSIGNINGKEY (CommonConstant.sign_key); jwtaccesstokenconverter를 반환합니다. }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.