我有两个关于 Spring Security 的问题。我在网上进行了大量研究,但对于我的问题而言,答案要么是肤浅的,要么是过于复杂,导致没有太大帮助。我正在尝试在应用 Java 配置策略(完全无 xml)的应用程序中使用 Spring Security。
第一种情况 我有一个扩展 WebSecurityConfigurerAdapter 的 SecurityConfiguration 类。在那里,我有我的自动装配的 loginService(它实现了 UserDetailsService)并且我已经将 AuthenticationManagerBuilder 的 UserDetailsService 定义为我的 LoginService。
当我尝试使用我的表单登录时,LoginService 成功获取用户(根据提供的用户名和密码),但不知何故身份验证失败,我在浏览器中收到来自 Tomcat 的 403 - Access Denied 消息。
第二种情况 为了解决上一个问题,我创建了一个自定义 AuthenticationProvider 并将其注入到我的 SecurityConfiguration 中。但是,当我尝试登录时,authenticate() 方法甚至不起作用。
有没有人可以帮助我?先感谢您
安全配置类
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
private final String ADMIN_ROLE = "ADMIN";
private final String EMPLOYEE_ROLE = "EMPLOYEE";
@Autowired
private LoginService loginService;
@Autowired
public void configureGlobal ( AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(loginService);
}
@Override
public void configure( WebSecurity …Run Code Online (Sandbox Code Playgroud)