MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Удостоверяване с Spring Security + Spring данни + MongoDB

Услуген слой

Трябва да създадете отделна service внедряване на org.springframework.security.core.userdetails.UserDetailsService и го инжектирайте вътре в AuthenticationManagerBuilder .

@Component
public class SecUserDetailsService implements UserDetailsService{

    @Autowired
    private UserRepository userRepository;

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        /*Here add user data layer fetching from the MongoDB.
          I have used userRepository*/
        User user = userRepository.findByUsername(username);
        if(user == null){
            throw new UsernameNotFoundException(username);
        }else{
            UserDetails details = new SecUserDetails(user);
            return details;
        }
    }
}

Модела

UserDetails Трябва също да се приложи. Това е POJO, който ще запази автентифицираните от потребителя данни до пролетта. Можете да включите вашия обект с данни Entity, обвит вътре в него, както направих аз.

public class SecUserDetails implements UserDetails {

    private User user;

    public SecUserDetails(User user) {
        this.user = user;
    }
    ......
    ......
    ......
}

Конфигурация за сигурност

Автоматично свързване на услугата, която създадохме преди, и я настройваме в AuthenticationManagerBuilder

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    SecUserDetailsService userDetailsService ;

    @Autowired
    public void configAuthBuilder(AuthenticationManagerBuilder builder) throws Exception {
        builder.userDetailsService(userDetailsService); 
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb отпечатва json без интервал, т.е. неприятен json

  2. Не може да се създаде индекс в Azure DocumentDb с протокол Mongodb

  3. mongodb и удостоверяване и паспорт в node.js

  4. Персонализирани функции изчислени колони mongodb проекция

  5. MongoDB:Премахване на поле от ВСИЧКИ поддокументи в поле на масив