我升级现有应用程序以使用Spring Boot并远离web.xml。 虽然我已经实现了功能,但是我的web.xml的一部分在我的生活中无法弄清楚如何升级到弹簧启动。 (如果重要的是我使用1.5.6)
我的web.xml的相关部分:
<security-constraint>
<web-resource-collection>
<web-resource-name>basic</web-resource-name>
<url-pattern>*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>User</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>myrealm</realm-name>
</login-config>
这是我的申请类:
@SpringBootApplication
public class Application extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
我还没有能够确定如何使用基于代码的方法设置任何镜像安全约束或login-config的功能。
如果有人对如何或能指出正确的方向有任何想法,我将非常感激。几个小时的谷歌搜索和尝试解决方案让我什么都没有。
答案 0 :(得分:1)
查看@EnableWebSecurity
和WebSecurityConfigurerAdapter
见下面的例子:
@EnableWebSecurity
@Configuration
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/**").authenticated()
.anyRequest()
.permitAll()
.and().httpBasic()
.and().sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}