UserDetailsServiceBuilder.java 952 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package jnpf.granter;
  2. import jnpf.consts.AuthConsts;
  3. import jnpf.service.UserDetailService;
  4. import org.springframework.stereotype.Component;
  5. import java.util.Map;
  6. import java.util.concurrent.ConcurrentHashMap;
  7. /**
  8. *
  9. * @author JNPF开发平台组
  10. * @copyright 引迈信息技术有限公司
  11. */
  12. @Component
  13. public class UserDetailsServiceBuilder {
  14. private final Map<String, UserDetailService> userDetailServices = new ConcurrentHashMap<>();
  15. public UserDetailsServiceBuilder(Map<String, UserDetailService> userDetailServices) {
  16. userDetailServices.forEach(this.userDetailServices::put);
  17. }
  18. /**
  19. * 根据类型获取合适的UserDetailService
  20. * @param detailType
  21. * @return
  22. */
  23. public UserDetailService getUserDetailService(String detailType){
  24. if(detailType == null){
  25. detailType = AuthConsts.USERDETAIL_ACCOUNT;
  26. }
  27. return userDetailServices.get(detailType);
  28. }
  29. }