informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Integrasikan solusi akses menyeluruh dalam proyek Spring Boot
Halo semuanya, Saya editor Weizhuang Taoke System 3.0, dan saya juga seorang programmer yang tidak memakai celana panjang di musim dingin, tetapi tetap harus anggun dalam cuaca dingin!
Dalam aplikasi perusahaan modern, solusi Sistem Masuk Tunggal (SSO) adalah teknologi utama untuk memastikan bahwa pengguna dapat masuk dan mengakses beberapa aplikasi dengan lancar. Artikel ini akan memperkenalkan secara detail cara mengintegrasikan solusi sistem masuk tunggal dalam proyek Spring Boot untuk meningkatkan pengalaman pengguna dan keamanan sistem.
Sebelum Anda dapat mengintegrasikan sistem masuk tunggal, Anda harus terlebih dahulu memilih solusi sistem masuk tunggal yang sesuai. Opsi umum mencakup solusi berbasis OAuth2 (seperti Spring Security OAuth atau Spring Security + OAuth2 Client), dan penggunaan otoritas autentikasi terintegrasi (seperti Keycloak). Berikut ini menggunakan Spring Security + OAuth2 Client sebagai contoh untuk mengilustrasikannya.
Dalam proyek Spring Boot, kita dapat mengimplementasikan fungsi sistem masuk tunggal dengan mengonfigurasi Spring Security dan Klien OAuth2. Berikut adalah contoh konfigurasi sederhana:
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();
}
}
Jika Anda memilih untuk menggunakan otoritas sertifikat terintegrasi, seperti Keycloak, Anda dapat mengintegrasikannya dengan mengikuti langkah-langkah berikut:
Setelah dikonfigurasi dalam proyek, pengguna dapat masuk menggunakan kredensial mereka dengan mengakses aplikasi apa pun. Sistem akan secara otomatis mengarahkan pengguna ke otoritas sertifikasi untuk mengautentikasi dan mendapatkan otorisasi, dan kemudian mengarahkan kembali ke aplikasi asli.
Artikel ini menjelaskan cara mengintegrasikan solusi masuk tunggal dalam proyek Spring Boot, memberikan contoh konfigurasi sederhana berdasarkan OAuth2, dan menyebutkan opsi untuk mengintegrasikan pusat sertifikasi. Melalui langkah-langkah ini, pengembang dapat dengan mudah menerapkan fungsi otentikasi dan otorisasi pengguna yang aman dan efisien.
Diproduksi oleh editor Micro-earning Taoke System 3.0, produk tersebut harus berkualitas tinggi. Harap sebutkan sumbernya saat mencetak ulang!