저는 Spring Initializr을 사용하고 임베디드 Tomcat + Thymeleaf 템플릿 엔진을 사용하며 실행 가능한 JAR 파일로 패키지를 사용하여 스프링 부트 웹 애플리케이션을 생성했습니다. 사용스프링 부트 - 스프링 보안 @ComponentScan 또는 @Import
기술 :
봄 부팅 1.4.2.RELEASE, 봄 4.3.4.RELEASE, Thymeleaf 2.1.5.RELEASE, 톰캣 삽입 8.5.6, 메이븐 3, 자바 (8) 내가 가진
내가 액세서 곳이 config 파일을 사용하여이 보안 클래스는
com.tdk.config
/**
* @author nunito
* @version 1.0
* @since 4 mar. 2017
*/
@Configuration
@EnableWebSecurity
@PropertySource("classpath:/com/tdk/config/app-${APP-KEY}.properties")
public class SecurityConfig extends WebSecurityConfigurerAdapter {
protected String loginPage = "/tdk/login";
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin()
.loginPage(getLoginPage())
.permitAll()
.and()
.authorizeRequests()
.antMatchers("/mockup/**").permitAll()
.antMatchers("/welcome/**").authenticated()
.and()
.logout()
.permitAll()
.logoutSuccessUrl("/index.html");
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.passwordEncoder(new StandardPasswordEncoder())
.withUser("nunito").password("08c461ad70fce6c74e12745931085508ccb2090f2eae3707f6b62089c634ddd2636f380f40109dfb").roles("ADMIN").and()
.withUser("nunito").password("4cfbf05e4493d17125c547fdba494033d7aceee9310f253f3e96c4f928333d2436d669d63a84fe4f").roles("ADMIN");
}
public String getLoginPage() {
return loginPage;
}
public void setLoginPage(String loginPage) {
this.loginPage = loginPage;
}
@SpringBootApplication
@ComponentScan(basePackages = "com.tdk.config")
@EnableAutoConfiguration
public class TdkCloudApplication {
public static void main(String[] args) {
SpringApplication.run(TdkCloudApplication.class, args);
}
}
나는 404이 URL을
에서의 그러나이 설정의 모든 것이 OK입니다
@SpringBootApplication
@EnableAutoConfiguration
@Import({SecurityConfig.class})
public class TdkCloudApplication {
public static void main(String[] args) {
SpringApplication.run(TdkCloudApplication.class, args);
}
}
나를 위해 할 수있는 두 가지 방법이 있기 때문에 나는 정확히 같은이가 설명이
'@EnableWebSecurity'를 제거해 봄으로써 스프링 부트 자동 구성을 비활성화 할 수 있습니까? 또한 스프링 부트로 '@ComponentScan'이 필요하지 않으므로 모든 하위 패키지를 검사합니다. '@EnableAutoConfiguration'은 필요하지 않습니다. – Shahbour