小编Lua*_*pos的帖子

Spring Security:AuthenticationProvider 和 UserDetailsS​​ervice 未按预期工作

我有两个关于 Spring Security 的问题。我在网上进行了大量研究,但对于我的问题而言,答案要么是肤浅的,要么是过于复杂,导致没有太大帮助。我正在尝试在应用 Java 配置策略(完全无 xml)的应用程序中使用 Spring Security。

第一种情况 我有一个扩展 WebSecurityConfigurerAdapter 的 SecurityConfiguration 类。在那里,我有我的自动装配的 loginService(它实现了 UserDetailsS​​ervice)并且我已经将 AuthenticationManagerBuilder 的 UserDetailsS​​ervice 定义为我的 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)

java spring spring-mvc spring-security

3
推荐指数
1
解决办法
2574
查看次数

标签 统计

java ×1

spring ×1

spring-mvc ×1

spring-security ×1