Spring Security中formLogin与httpBasic方法过时,如何用新流畅写法替换?
Spring Security 过时API替换方案
Spring Security 5.7+ 引入了基于lambda的流畅配置风格,替代了原有的过时方法。以下是替换后的代码:
SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(auth -> auth .anyRequest().authenticated() ) .formLogin(form -> form // 可在此添加自定义配置,例如指定登录页:.loginPage("/login") ) .httpBasic(basic -> basic // 可在此添加自定义配置,例如设置 realm:.realmName("MyRealm") ); return http.build(); }
关键变化说明:
- 原
authorizeRequests()替换为authorizeHttpRequests(),采用lambda表达式封装配置逻辑,更符合现代Java写法 formLogin()和httpBasic()不再是无参数方法,而是接受一个配置器lambda,允许你在内部自定义该认证方式的细节(无需自定义时保持空lambda即可)- 整个配置通过链式调用完成,结构更清晰,可读性更强
内容的提问来源于stack exchange,提问作者user17968709
相关产品推荐
相关产品推荐

