Konsep masuk tunggal
Tanda tunggal di, disebut sebagai SSO, adalah salah satu solusi paling populer untuk integrasi bisnis perusahaan. Definisi SSO adalah bahwa dalam beberapa sistem aplikasi, pengguna hanya perlu masuk sekali untuk mengakses semua sistem aplikasi yang saling tepercaya. Logika login ditunjukkan pada gambar di atas
Implementasi Berdasarkan Bucket Keluarga Musim Semi
Seleksi Teknis:
Klien:
Ketergantungan Maven
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-web </artifactid> </dependency> <dependency> <roupidD> org.springframework.boot </groupId> <t ArtifactId> <ceplepty-boot-security-security </groupence </artifactid </Artifactid> <t ArtifactId> <ceptent-boot-security-security </groupence </artifactid </artifactid </artfactid </artifactid </artifactid </artifactid </artifactid </artifactid <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId></dependency><dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-jwt</artifactId></dependency>
EnableOAuth2SSO Anotasi
Konfigurasi kelas entri @@ enableoAuth2sso
@SpringbootApplicationPublic Class PigsSoclientDemoApplication {public static void main (string [] args) {springApplication.run (pigssoclientDemoapplication.class, args); }}File konfigurasi
security: oauth2: client: client-id: pig client-secret: pig user-authorization-uri: http://localhost:3000/oauth/authorize access-token-uri: http://localhost:3000/oauth/token scope: server resource: jwt: key-uri: http://localhost:3000/oauth/token_key sessions: tidak pernah
Server Otentikasi SSO
Konfigurasi Server Otentikasi
@Configuration@order (integer.min_value) @EnableAuthorizationserVerPublic PIGAUTHORITIONCONCONFIG memperluas otorisasiServerConfigurerAdapter {@Override public void configure (clientDetailsServiceConfigurer Clients) Lempar Exception {Client.InMemory () .klapeCconfigurer Clientsconfiger) .secret (authserverconfig.getClientSecret ()) .AuthorizedGrantTypes (SecurityConstants.Refresh_Token, SecurityConstants.password, SecurityConstants.Authorization_code) .Scopes (authServerconfig.getScope ()); } @Override public void configure (OtorisasiServerEndPointSconfigurer Endpoints) {endpoints .TokenStore (RedistokenStore baru (RedisconnectionFactory)) .Accesstokenconverter (JWTACCESSTOKENCERTER ()) .AuthenticationManager (authenticationManManRansceplesceplesceplesponsor (authentikasi). .reuserefreshtokens (false) .userdetailsservice (userDetailsService); } @Override public void configure (authorizationserverSecurity Configurer Security) melempar Exception {Security .AllowFormAuthenticationForClients () .tokenKeyAccess ("isAuthenticated ()") .CheckTokenAccess ("permitall ()"); } @Bean Public PasswordEncoder PasswordEncoder () {return bcryptpasswordEncoder baru (); } @Bean public jwtaccesstokenconverter jwtaccesstokenconverter () {jwtaccesstokenconverter jwtaccesstokenconverter = jwtaccesstokenconverter () baru; jwtaccesstokenconverter.setsigningkey (commonconstant.sign_key); return JWTACCESSTOKENCONVERTER; }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.