我是彈簧安全新手,我在配置彈簧安全性方面遵循此示例:https://spring.io/blog/2013/07/03/spring-security-java-config-preview-web-security/。所以我看到他們使用這種方法讓彈簧知道配置。如何將Spring Security配置「包含」到應用程序中
public class SpringWebMvcInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { HelloWebSecurityConfiguration.class };
}
...
}
但我的應用程序的初始化是這樣的:
public class AppInit implements WebApplicationInitializer{
public void onStartup(ServletContext servletContext) throws ServletException {
// TODO Auto-generated method stub
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.register(AppConfiguration.class);
ServletRegistration.Dynamic registration =
servletContext.addServlet("dispatcher", new DispatcherServlet(context));
registration.setLoadOnStartup(1);
registration.addMapping("/services/rest/*");
}
}
而且我想包括我的春季安全配置還有,因爲沒有它,我在瀏覽器中得到消息:您的登錄嘗試不成功,嘗試再次。
原因:沒有的AuthenticationProvider發現org.springframework.security.authentication.UsernamePasswordAuthenticationToken
關於Spring Security:請參閱[我的問題和答案](https://stackoverflow.com/questions/44977972/how-to-enable-bearer-authentication-on-spring-beoot-application/44978587#44978587);它演示了使用承載令牌和資源服務器的OAuth2身份驗證的工作實現。我沒有包含build.gradle,也沒有包含SQL模式和數據集。但希望你會發現該代碼是一個有用的參考/起點。 – Birchlabs