Authentifizierung mit Spring Security + Spring data + MongoDB

Will ich mit Spring security mit MongoDB (mit Spring data) und rufen Sie die Benutzer aus meiner eigenen Datenbank für spring security. Jedoch kann ich nicht tun, da meine userservice Typ scheint nicht unterstützt zu werden.

Dies ist meine Klasse 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);
    }
}

Und meine SecurityConfig Klasse:

@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");
    }

}

Die Zeile habe ich kommentiert, sagt:

The inferred type UserService is not a valid substitute for the bounded parameter <T extends UserDetailsService>.

Wie kann ich es beheben, damit ich abrufen kann der Nutzer aus meiner eigenen Datenbank?

InformationsquelleAutor der Frage Moody | 2015-04-13

Schreibe einen Kommentar