minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Integrar solução de logon único no projeto Spring Boot
Olá a todos, sou o editor do Weizhuang Taoke System 3.0 e também sou um programador que não usa ceroulas no inverno, mas ainda precisa ser elegante no frio!
Em aplicativos empresariais modernos, as soluções de logon único (SSO) são tecnologias essenciais para garantir que os usuários possam fazer login e acessar vários aplicativos sem problemas. Este artigo apresentará em detalhes como integrar uma solução de logon único em um projeto Spring Boot para melhorar a experiência do usuário e a segurança do sistema.
Antes de poder integrar o logon único, primeiro você precisa escolher uma solução de logon único adequada. As opções comuns incluem soluções baseadas em OAuth2 (como Spring Security OAuth ou Spring Security + OAuth2 Client) e o uso de autoridades de autenticação integradas (como Keycloak). A seguir, usamos Spring Security + OAuth2 Client como exemplo para ilustrar.
No projeto Spring Boot, podemos implementar a função de logon único configurando Spring Security e OAuth2 Client. Aqui está um exemplo de configuração simples:
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();
}
}
Se você optar por usar uma autoridade de certificação integrada, como Keycloak, poderá integrá-la seguindo estas etapas:
Uma vez configurado no projeto, os usuários podem efetuar login utilizando suas credenciais acessando qualquer aplicação. O sistema direcionará automaticamente o usuário à autoridade de certificação para autenticação e obtenção de autorização e, em seguida, redirecionará de volta ao aplicativo original.
Este artigo descreve como integrar uma solução de logon único em um projeto Spring Boot, fornece um exemplo simples de configuração baseado em OAuth2 e menciona a opção de integração de um centro de certificação. Por meio dessas etapas, os desenvolvedores podem implementar facilmente funções de autenticação e autorização de usuário seguras e eficientes.
Produzido pelo editor do Micro-earning Taoke System 3.0, deve ser um produto de alta qualidade. Indique a fonte ao reimprimir!