【问题标题】:Spring Boot, how to configure spring security using application.proertiesSpring Boot,如何使用 application.properties 配置 Spring Security
【发布时间】:2015-07-29 03:02:07
【问题描述】:

我有以下安全配置

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.servlet.configuration.EnableWebMvcSecurity;

@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .csrf().disable()
            .authorizeRequests()
                .antMatchers("/", "/inspinia/login.html", "/inspinia/css/**", "/inspinia/js/**", "/inspinia/fonts/**", "/inspinia/font-awesome/**").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }
}

我想知道是否可以在 application.properties 而不是 WebSecurity 类中设置这些选项。

我是 spring 新手,有点困惑为什么有些设置放在 application.properties 中,而其他设置必须在类中定义。

【问题讨论】:

标签: java spring spring-security spring-boot


【解决方案1】:

一般来说,我建议只使用 application.properties 来调整 Spring Security 设置以快速启动和运行。添加 WebSecurityConfig 后,将所有安全配置放在那里。

你可以用 application.properties 做的任何事情都可以在 Java 配置(即 WebSecurityConfig)中做。

【讨论】: