τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Ενσωματώστε τη λύση single sign-on στο έργο Spring Boot
Γεια σε όλους, είμαι ο συντάκτης του Weizhuan Taoke System 3.0 και είμαι επίσης προγραμματιστής που δεν φοράει long john το χειμώνα, αλλά πρέπει ακόμα να είναι δροσερός στον κρύο καιρό!
Στις σύγχρονες εταιρικές εφαρμογές, οι λύσεις Single Sign-On (SSO) είναι βασικές τεχνολογίες που διασφαλίζουν ότι οι χρήστες μπορούν να συνδεθούν απρόσκοπτα και να έχουν πρόσβαση σε πολλές εφαρμογές. Αυτό το άρθρο θα παρουσιάσει λεπτομερώς τον τρόπο ενσωμάτωσης μιας ενιαίας λύσης σύνδεσης σε ένα έργο Spring Boot για τη βελτίωση της εμπειρίας χρήστη και της ασφάλειας του συστήματος.
Για να μπορέσετε να ενσωματώσετε μια απλή σύνδεση, πρέπει πρώτα να επιλέξετε μια κατάλληλη λύση μεμονωμένης σύνδεσης. Οι κοινές επιλογές περιλαμβάνουν λύσεις που βασίζονται σε OAuth2 (όπως Spring Security OAuth ή Spring Security + OAuth2 Client) και τη χρήση ενσωματωμένων αρχών ελέγχου ταυτότητας (όπως Keycloak). Τα παρακάτω χρησιμοποιούν το Spring Security + OAuth2 Client ως παράδειγμα για να το επεξηγήσουν.
Στο έργο Spring Boot, μπορούμε να εφαρμόσουμε τη λειτουργία single sign-on διαμορφώνοντας τις παραμέτρους Spring Security και OAuth2 Client. Ακολουθεί ένα απλό παράδειγμα διαμόρφωσης:
package cn.juwatech.taokua.system.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.oauth2.client.registration.ClientRegistration;
import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
import org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository;
import org.springframework.security.oauth2.core.AuthorizationGrantType;
import org.springframework.security.oauth2.core.ClientAuthenticationMethod;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
.oauth2Login()
.defaultSuccessUrl("/dashboard")
.and()
.logout()
.logoutSuccessUrl("/")
.permitAll();
}
@Bean
public ClientRegistrationRepository clientRegistrationRepository() {
return new InMemoryClientRegistrationRepository(githubClientRegistration());
}
private ClientRegistration githubClientRegistration() {
return ClientRegistration.withRegistrationId("github")
.clientId("your-client-id")
.clientSecret("your-client-secret")
.clientAuthenticationMethod(ClientAuthenticationMethod.BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.redirectUriTemplate("{baseUrl}/login/oauth2/code/{registrationId}")
.scope("read:user")
.authorizationUri("https://github.com/login/oauth/authorize")
.tokenUri("https://github.com/login/oauth/access_token")
.userInfoUri("https://api.github.com/user")
.userNameAttributeName("id")
.clientName("GitHub")
.build();
}
}
Εάν επιλέξετε να χρησιμοποιήσετε μια ενσωματωμένη αρχή έκδοσης πιστοποιητικών, όπως το Keycloak, μπορείτε να την ενσωματώσετε ακολουθώντας αυτά τα βήματα:
Αφού διαμορφωθούν στο έργο, οι χρήστες μπορούν να συνδεθούν χρησιμοποιώντας τα διαπιστευτήριά τους, έχοντας πρόσβαση σε οποιαδήποτε εφαρμογή. Το σύστημα θα κατευθύνει αυτόματα τον χρήστη στην αρχή πιστοποίησης για έλεγχο ταυτότητας και λήψη εξουσιοδότησης και, στη συνέχεια, θα ανακατευθύνει πίσω στην αρχική εφαρμογή.
Αυτό το άρθρο περιγράφει τον τρόπο ενσωμάτωσης μιας λύσης σύνδεσης σε ένα έργο Spring Boot, παρέχει ένα απλό παράδειγμα διαμόρφωσης που βασίζεται στο OAuth2 και αναφέρει την επιλογή ενσωμάτωσης ενός κέντρου πιστοποίησης. Μέσω αυτών των βημάτων, οι προγραμματιστές μπορούν εύκολα να εφαρμόσουν ασφαλείς και αποτελεσματικές λειτουργίες ελέγχου ταυτότητας και εξουσιοδότησης χρήστη.
Κατασκευασμένο από τον εκδότη του Micro-earning Taoke System 3.0, πρέπει να είναι προϊόν υψηλής ποιότητας, αναφέρετε την πηγή κατά την επανεκτύπωση.