Есть вот такой вот сервис. Эти 2 штуки не "автоварятся"
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
private UserDetailsService userDetailsService;
Читал, что можно чрз super.authenticationManager() можно переопределить бин, но у меня не выходит. (Видимо из-за того, что я наследуюсь от интерфейса) Как их "подвязать"?
Весь класс:
@Service
public class SecurityServiceImpl implements SecurityService {
private static final Logger logger = LoggerFactory.getLogger(SecurityServiceImpl.class);
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
private UserDetailsService userDetailsService;
@Override
public String findLoggedInUsername() {
Object userDetails = SecurityContextHolder.getContext().getAuthentication().getDetails();
if (userDetails instanceof UserDetails) {
return ((UserDetails) userDetails).getUsername();
}
return null;
}
@Override
public void autoLogin(String username, String password) {
UserDetails userDetails = userDetailsService.loadUserByUsername(username);
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(userDetails, password, userDetails.getAuthorities());
authenticationManager.authenticate(authenticationToken);
if (authenticationToken.isAuthenticated()) {
SecurityContextHolder.getContext().setAuthentication(authenticationToken);
logger.debug(String.format("Successfully %s auto logged in", username));
}
}
}
У тебя вывернуто наизнанку. UserDetailsService
должен использоваться менеджером, чтобы разрешить юзеру доступ или запретить, а не наоборот.
@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
@Autowired
public initialize(AuthenticationManagerBuilder builder, UserDetailsService userDetailsService) {
// вот тут можно настроить своего провайдера, напрример
builder.userDetailsService(userDetailsService);
}
}
Эти 2 штуки не "автоварятся"
Что вы имеете ввиду? (конкретно)
Пробовали?
@Configuration
public class Config extends WebSecurityConfigurerAdapter {
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Bean
public UserDetailsService userDetailsService() {
return super.userDetailsService();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Написал я свое первое веб приложение (писал на Spring Boot)Запускаю на localhost - все работает как надо
Пишу онлайн игруСейчас используется перемещение персонажа на клетку по которой пользователь кликнул
На звание знатока JS не претендуюПри разработке учебного проекта сталкнулся с непонятной ситуацией