ResourceServerConfig.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.yihu.base.security.config;
  2. import com.yihu.base.security.properties.SecurityProperties;
  3. import com.yihu.base.security.rbas.IRbasService;
  4. import com.yihu.base.security.rbas.provider.AuthorizeConfigProviderManager;
  5. import com.yihu.base.security.sms.SmsCodeAuthenticationSecurityConfig;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  9. import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
  10. import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
  11. import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
  12. import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationManager;
  13. import org.springframework.security.oauth2.provider.token.TokenStore;
  14. import org.springframework.security.web.authentication.AuthenticationFailureHandler;
  15. import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
  16. /**
  17. * Created by chenweida on 2017/12/4.
  18. */
  19. @Configuration
  20. @EnableResourceServer //开启资源服务器
  21. public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
  22. @Autowired
  23. protected AuthenticationSuccessHandler authenticationSuccessHandler;
  24. @Autowired
  25. protected AuthenticationFailureHandler authenticationFailureHandler;
  26. @Autowired
  27. private OAuth2AuthenticationManager authenticationManager;
  28. @Autowired
  29. private TokenStore redisTokenStore;
  30. @Autowired
  31. private SmsCodeAuthenticationSecurityConfig smsCodeAuthenticationSecurityConfig;
  32. @Autowired
  33. private AuthorizeConfigProviderManager authorizeConfigProviderManager;
  34. @Override
  35. public void configure(HttpSecurity http) throws Exception {
  36. http
  37. .formLogin()//设置验证码 账号密码登陆
  38. .loginPage(SecurityProperties.formLoginPage)
  39. .loginProcessingUrl(SecurityProperties.formLogin)
  40. .successHandler(authenticationSuccessHandler)
  41. .failureHandler(authenticationFailureHandler)
  42. .and()
  43. .apply(smsCodeAuthenticationSecurityConfig) //添加自定义短信登陆
  44. .and()
  45. .csrf().disable();
  46. //验证路径
  47. authorizeConfigProviderManager.condfig(http.authorizeRequests());
  48. }
  49. @Override
  50. public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
  51. resources.
  52. authenticationManager(authenticationManager).
  53. tokenStore(redisTokenStore);
  54. }
  55. }