我有一个完整的堆栈Web应用程序(Angular 4 + Spring Boot + Spring Web + Spring Security)。 我想添加其他春季启动应用程序(微服务),但使用相同的身份验证。
如何分享会话?
目前,这是我的第一个Spring Boot应用程序的配置:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.antMatchers("/health").hasRole("SUPERUSER")
.anyRequest().authenticated().and()
.formLogin().loginPage("/login").permitAll().and().logout().permitAll();
// @formatter:on
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
auth.inMemoryAuthentication().withUser("admin").password("secret").roles("SUPERUSER");
}
}
修改1:
我添加了另一个Spring启动应用程序(带有我的数据库的网关)+在此网关和其他Spring启动应用程序之间使用JWT
编辑2:
我在github上发现了一个很好的样本here