Я создал простое приложение Spring Web MVC, и у меня есть одна проблема. После аутентификации я стараюсь получить объект аутентификации, и по какой -то причине его учетные данные являются нулевыми. < /p>
< /p>
В этом проекте у меня есть пользовательская аутентификация, которая выглядит как это: < /p>
@Component
public class CustomAuthenticationProvider implements AuthenticationProvider {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@PostConstruct
public void init() {
roleService.AddStandardRolesIfNeeded();
userService.AddUserWithAdminRoleIfNotExists("a");
}
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
Object credentials = authentication.getCredentials();
if(!(credentials instanceof String)) {
return null;
}
String username = authentication.getName();
String password = credentials.toString(); //password isn't null here
User user = userService.findByUsernameAndPassword(username, password);
if(user == null) {
throw new BadCredentialsException("Authentication failed for " + username);
}
List authorities = new ArrayList();
for(Role role : user.getRoles()) {
authorities.add(new SimpleGrantedAuthority(role.getName()));
}
Authentication auth = new
UsernamePasswordAuthenticationToken(username, password, authorities);
return auth;
}
public boolean supports(Class authentication) {
return authentication.equals(UsernamePasswordAuthenticationToken.class);
}
}
< /code>
мне интересно, если это намеренно сделано в Spring Security или что мне что -то упускаю. < /p>
Подробнее здесь: https://stackoverflow.com/questions/534 ... ls-returns