我们正在将在部署的 Java 应用服务器(Tomcat、Glassfish)上运行的遗留应用程序迁移到 Spring Boot。旧应用程序有一个登录 JSP 页面,该页面定义了一个带有 action="j_security_check"
端点的表单,该端点与应用程序服务器的安全基础设施相集成。
在新的应用程序中,我们已经覆盖了 WebSecurityConfigurerAdapter
并且可以成功地对我们的 LDAP 服务器使用基于表单的身份验证。但是,我们看到的是默认的 Spring 安全登录页面。我们如何配置 Spring Boot 以使用我们原来的登录 JSP?
谢谢
答案 0 :(得分:2)
你需要 spring mvc 而不仅仅是一般的 spring boot 才能提供 jsp 文件。
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll();
}
// ...
}
别忘了
.loginPage("/login").permitAll();
因为您希望您的登录页面对所有尝试进行身份验证的用户开放。
这里是文档 spring doc custom login page
还要确保您有一个控制器为路径 /login