Chcę używać zabezpieczenia Spring z MongoDB (używając danych Spring) i odzyskać użytkowników z mojej własnej bazy danych dla bezpieczeństwa wiosennego. Jednak nie mogę tego zrobić, ponieważ mój typ usługi użytkownika wydaje się nie być obsługiwany.Uwierzytelnianie za pomocą Spring Security + dane sprężyny + MongoDB
To moja klasa UserService:
public class UserService {
private ApplicationContext applicationContext;
private MongoOperations mongoOperations;
public UserService() {
applicationContext = new AnnotationConfigApplicationContext(MongoConfig.class);
mongoOperations = (MongoOperations) applicationContext.getBean("mongoTemplate");
}
public User find(String username) {
return mongoOperations.findOne(Query.query(Criteria.where("username").is(username)), User.class);
}
}
A moja klasa SecurityConfig:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
UserService userService;
@Autowired
public void configAuthBuilder(AuthenticationManagerBuilder builder) throws Exception {
builder.userDetailsService(userService); //THIS DOES NOT WORK
builder.inMemoryAuthentication().withUser("username").password("password").roles("USER");
}
}
Linia I skomentował mówi:
The inferred type UserService is not a valid substitute for the bounded parameter <T extends UserDetailsService>.
Jak mogę to naprawić, więc mogę odzyskać użytkowników z mojej własnej bazy danych?
Specjalista ds. Bezpieczeństwa właśnie tutaj! :) Zawsze doceniam to Faraj! – Moody
Bardzo dziękuję za tę odpowiedź! – zaqpiotr
Czy możesz podać "import" w swojej odpowiedzi? Nie mam pojęcia o klasie użytkownika. Czy to jest niestandardowa klasa modelu? –