SercurityConfig.java 1.7 KB

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