我使用Spring& amp;实现了一个带有一些基本登录机制的Web应用程序。春季安全。一切都很好,但我面临一个问题(也许这不是问题,让我们看看)。
我的WebApp结构如下(No XML Config,Servlet-3.0和Spring 4.0):
WebAppInitializer
意图:配置WebApplication
public class WebAppInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
applicationContext.register(AppConfig.class);
applicationContext.refresh();
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.register(Dispatcher);
context.setParent(applicationContext);
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher-servlet", new DispatcherServlet(context));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/*");
}
}
SecurityWebApplicationInitializer.java
意图:添加安全性
public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
public SecurityWebApplicationInitializer() {
super(SecurityConfig.class);
}
}
还有课程:
我的问题/疑问:
我想在 AuthenticationManagerBuilder 的安全性中使用* CustomerUserDetailsService *并在我的控制器中 - 有没有办法只有一个UserDetailsService实例?在此配置中,它将创建两个实例:一个用于Application Context,另一个用于Security Context。我错过了配置中的任何内容吗?或者这是配置它的最佳方式吗?
除此之外的另一个问题是:有没有办法在我的控制器上使用支持@Secured注释的配置?没有办法让这个工作。