AdminServiceApplication.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.diagbot;
  2. import de.codecentric.boot.admin.server.config.AdminServerProperties;
  3. import de.codecentric.boot.admin.server.config.EnableAdminServer;
  4. import org.springframework.boot.SpringApplication;
  5. import org.springframework.boot.autoconfigure.SpringBootApplication;
  6. import org.springframework.cloud.context.config.annotation.RefreshScope;
  7. import org.springframework.cloud.netflix.hystrix.EnableHystrix;
  8. import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
  9. import org.springframework.cloud.netflix.turbine.EnableTurbine;
  10. import org.springframework.context.annotation.Configuration;
  11. import org.springframework.context.annotation.Profile;
  12. import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  13. import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
  14. import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
  15. /**
  16. * @Description: 系统管理中心启动文件
  17. * @author: gaodm
  18. * @time: 2018/8/7 10:48
  19. */
  20. @SpringBootApplication
  21. @EnableTurbine
  22. @EnableHystrixDashboard
  23. @EnableHystrix
  24. @EnableAdminServer
  25. @Configuration
  26. @RefreshScope
  27. public class AdminServiceApplication {
  28. public static void main(String[] args) {
  29. SpringApplication.run(AdminServiceApplication.class, args);
  30. }
  31. @Profile({ "local", "dev", "test" })
  32. @Configuration
  33. public static class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
  34. @Override
  35. protected void configure(HttpSecurity http) throws Exception {
  36. http.authorizeRequests().anyRequest().permitAll()
  37. .and().csrf().disable();
  38. }
  39. }
  40. @Profile({ "pre", "pro" })
  41. @Configuration
  42. public static class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
  43. private final String adminContextPath;
  44. public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
  45. this.adminContextPath = adminServerProperties.getContextPath();
  46. }
  47. @Override
  48. protected void configure(HttpSecurity http) throws Exception {
  49. SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
  50. successHandler.setTargetUrlParameter("redirectTo");
  51. http.authorizeRequests()
  52. .antMatchers(adminContextPath + "/assets/**").permitAll()
  53. .antMatchers(adminContextPath + "/login").permitAll()
  54. .anyRequest().authenticated()
  55. .and()
  56. .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
  57. .logout().logoutUrl(adminContextPath + "/logout").and()
  58. .httpBasic().and()
  59. .csrf().disable();
  60. }
  61. }
  62. }