SercurityConfig.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.yihu.base.security;
  2. import com.yihu.base.security.sms.mobile.DefaultMobileCheck;
  3. import com.yihu.base.security.sms.sender.DefaultSmsCodeSender;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.ComponentScan;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.security.access.PermissionEvaluator;
  12. import org.springframework.security.authentication.AuthenticationTrustResolver;
  13. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  14. import org.springframework.security.crypto.password.PasswordEncoder;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. /**
  18. * Created by chenweida on 2017/12/4.
  19. */
  20. @Configuration
  21. @ComponentScan("com.yihu.base.security")
  22. public class SercurityConfig {
  23. private Logger logger = LoggerFactory.getLogger(SercurityConfig.class);
  24. @Autowired(required = false)
  25. List<AuthenticationTrustResolver> trustResolvers = new ArrayList<>();
  26. @Autowired(required = false)
  27. List<PermissionEvaluator> permissionEvaluators = new ArrayList<>();
  28. @Bean
  29. public PasswordEncoder passwordEncoder() {
  30. return new BCryptPasswordEncoder();
  31. }
  32. @Bean
  33. @ConditionalOnMissingBean
  34. public DefaultSmsCodeSender defaultSmsCodeSender() {
  35. logger.info("使用默认的短信发送DefaultSmsCodeSender");
  36. return new DefaultSmsCodeSender();
  37. }
  38. @Bean
  39. @ConditionalOnMissingBean
  40. public DefaultMobileCheck defaultMobileCheck() {
  41. logger.info("使用默认的手机号验证规则");
  42. return new DefaultMobileCheck();
  43. }
  44. }