Single Sign-On-Konzept
Ein einzelnes Zeichen auf, das als SSO bezeichnet wird, ist eine der beliebtesten Lösungen für die Integration der Unternehmensgeschäfts. Die Definition von SSO ist, dass Benutzer in mehreren Anwendungssystemen nur einmal anmelden müssen, um auf alle gegenseitig vertrauenswürdigen Anwendungssysteme zuzugreifen. Die Anmeldelogik ist in der obigen Abbildung dargestellt
Implementierung basierend auf dem Frühlingsfamilieneimer
Technische Auswahl:
Kunde:
Abhängigkeit von Maven
<De vorangestellt> <gruppe> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter-Web </artifactId> </abhängig> <Depopentcy> <gruppe-org. <CruupId> org.springFramework.security.oAuth </GroupId> <artifactId> Spring-Security-OAUTH2 </artifactId> </abhängig> <Deichung> <gruppe-org.springFramework.security </gruppactid> <artifactid> Spring-Security-Jwt </artifactid> <artifactid> secentid-jwt </artifactid> <artifactid>
EnableOAUTH2SSO -Annotation
Eingabeklassenkonfiguration @@ enableoAuth2SSO
@SpringbootApplicationPublic Class PigssoclientDemoApplication {public static void main (String [] args) {SpringApplication.run (PigssoclientDemoApplication.class, Args); }}Konfigurationsdatei
Sicherheit: OAuth2: Client: Client-ID: Schweiner Client-Sekret: Schweinebemerkargang-Authorisierung-URI: http: // localhost: 3000/oAuth/autorisieren Sie Access-token-uri: http: // localhost: 3000/oAuth/token Scope: Servers: 3000/oaT: key-auri: http. Sitzungen: niemals
SSO -Authentifizierungsserver
Authentifizierungsserverkonfiguration
@Configuration@order (integer.min_value) @enableAuthorizationServerPublic Class PigAuthorizationConfig erweitert die AutorisierungsversucheserverConFigurerAdapter (@Override public void configure (clientDetailsServiceConFigurer Clients) aus der Ausnahme {Anclentclient.inMomMory (). .Secret (authserverconfig.getClientsecret ()) .authorizedGrantTypes (SecurityConstants.refresh_Token, SecurityConstants.Password, SecurityConstants.Authorization_Code) .Scopes (Authserverconfig.getScope ()); } @Override public void configure (AutorisierungserverendpointsconFigurer -Endpunkte) {Endpoints .TokenStore (neuer redistokenStore (redisconnectionFactory) .AccessTokenConverter (jwtaccessTokenConverter () .AuthenticationManager (AuthenticentChiteManager). .ReusereReFreshtokens (false) .userDetailsService (userDetailsService); } @Override public void configure (autorisierungsversucheConfigurer -Sicherheit) löst Ausnahme aus. } @Bean public passwordEnCoder passwordEnCoder () {Neue bcryptPasswordEnCoder () zurückgeben; } @Bean public JwtaccessTokenConverter jwtaccessToKenConverter () {jwtaccessTokenConverter jwtaccessTokenConverter = new JwtaccessTokenConverter (); jwtaccessTokenConverter.setsigningKey (CommonConstant.sign_key); return jwtaccessTokenConverter; }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.