在web.xml中,Web使用如下代码:
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>ApplicationRealm</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
在春季启动代码,如thant。但它似乎不起作用:
@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addContextCustomizers(context -> {
SecurityConstraint constraint = new SecurityConstraint();
SecurityCollection collection = new SecurityCollection();
constraint.setAuthConstraint(true);
collection.addPattern("/*");
collection.setName("HtmlAdaptor");
constraint.addCollection(collection);
constraint.addAuthRole("admin");
context.addConstraint(constraint);
LoginConfig loginConfig = new LoginConfig();
loginConfig.setAuthMethod("BASIC");
loginConfig.setRealmName("ApplicationRealm");
context.setLoginConfig(loginConfig);
context.addSecurityRole("admin");
});
return factory;
}
那么我该如何解决这个问题?我只想用Spring Boot代替传统的sevelet项目。