diff --git a/servo/src/main/java/com/galaxis/rcs/connector/cl2/VirtualCl2Connector.java b/servo/src/main/java/com/galaxis/rcs/connector/cl2/VirtualCl2Connector.java index 61f0386..d00e4e4 100644 --- a/servo/src/main/java/com/galaxis/rcs/connector/cl2/VirtualCl2Connector.java +++ b/servo/src/main/java/com/galaxis/rcs/connector/cl2/VirtualCl2Connector.java @@ -6,4 +6,28 @@ package com.galaxis.rcs.connector.cl2; */ public class VirtualCl2Connector implements Cl2Connector { + @Override + public int transport() { + return 0; + } + + @Override + public int pickup() { + return 0; + } + + @Override + public int unload() { + return 0; + } + + @Override + public int charge() { + return 0; + } + + @Override + public int lift() { + return 0; + } } diff --git a/servo/src/main/java/com/yvan/logisticsMonitor/dashboard/DashboardManager.java b/servo/src/main/java/com/yvan/logisticsMonitor/dashboard/DashboardManager.java index bf37a42..6e685fc 100644 --- a/servo/src/main/java/com/yvan/logisticsMonitor/dashboard/DashboardManager.java +++ b/servo/src/main/java/com/yvan/logisticsMonitor/dashboard/DashboardManager.java @@ -3,4 +3,28 @@ package com.yvan.logisticsMonitor.dashboard; import com.galaxis.rcs.connector.cl2.Cl2Connector; public class DashboardManager implements Cl2Connector { + @Override + public int transport() { + return 0; + } + + @Override + public int pickup() { + return 0; + } + + @Override + public int unload() { + return 0; + } + + @Override + public int charge() { + return 0; + } + + @Override + public int lift() { + return 0; + } } diff --git a/servo/src/main/java/com/yvan/workbench/autoconfigure/AppAutoConfiguration.java b/servo/src/main/java/com/yvan/workbench/autoconfigure/AppAutoConfiguration.java index c3cfc21..f47830f 100644 --- a/servo/src/main/java/com/yvan/workbench/autoconfigure/AppAutoConfiguration.java +++ b/servo/src/main/java/com/yvan/workbench/autoconfigure/AppAutoConfiguration.java @@ -22,6 +22,7 @@ import org.clever.core.task.StartupTaskBootstrap; import org.clever.data.jdbc.JdbcBootstrap; import org.clever.data.jdbc.config.JdbcConfig; import org.clever.data.redis.RedisBootstrap; +import org.clever.security.SecurityBootstrap; import org.clever.web.FilterRegistrar; import org.clever.web.JavalinAppDataKey; import org.clever.web.MvcBootstrap; @@ -35,6 +36,7 @@ import org.springframework.boot.context.properties.bind.Binder; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; import org.springframework.core.Ordered; import org.springframework.core.env.Environment; @@ -124,6 +126,14 @@ public class AppAutoConfiguration { return MvcBootstrap.create(appBasicsConfig.getRootPath(), jdbcConfig.getDefaultName(), environment); } + @DependsOn({"jdbcBootstrap", "redisBootstrap"}) + @Bean + public SecurityBootstrap securityBootstrap() { + SecurityBootstrap securityBootstrap = SecurityBootstrap.create(environment); + SecurityBootstrap.useDefaultSecurity(securityBootstrap.getSecurityConfig()); + return securityBootstrap; + } + // -------------------------------------------------------------------------------------------- // HttpFilter(servlet过滤器链) // @@ -218,6 +228,46 @@ public class AppAutoConfiguration { } @Bean + public FilterRegistrationBean authenticationFilter(SecurityBootstrap securityBootstrap) { + FilterRegistrationBean filterBean = new FilterRegistrationBean<>(); + filterBean.setOrder(Ordered.HIGHEST_PRECEDENCE + 700); + filterBean.addUrlPatterns(PathConstants.ALL); + filterBean.setName("AuthenticationFilter"); + filterBean.setFilter(new FilterAdapter(securityBootstrap.getAuthenticationFilter())); + return filterBean; + } + + @Bean + public FilterRegistrationBean loginFilter(SecurityBootstrap securityBootstrap) { + FilterRegistrationBean filterBean = new FilterRegistrationBean<>(); + filterBean.setOrder(Ordered.HIGHEST_PRECEDENCE + 800); + filterBean.addUrlPatterns(PathConstants.ALL); + filterBean.setName("LoginFilter"); + filterBean.setFilter(new FilterAdapter(securityBootstrap.getLoginFilter())); + return filterBean; + } + + @Bean + public FilterRegistrationBean logoutFilter(SecurityBootstrap securityBootstrap) { + FilterRegistrationBean filterBean = new FilterRegistrationBean<>(); + filterBean.setOrder(Ordered.HIGHEST_PRECEDENCE + 900); + filterBean.addUrlPatterns(PathConstants.ALL); + filterBean.setName("LogoutFilter"); + filterBean.setFilter(new FilterAdapter(securityBootstrap.getLogoutFilter())); + return filterBean; + } + + @Bean + public FilterRegistrationBean authorizationFilter(SecurityBootstrap securityBootstrap) { + FilterRegistrationBean filterBean = new FilterRegistrationBean<>(); + filterBean.setOrder(Ordered.HIGHEST_PRECEDENCE + 1000); + filterBean.addUrlPatterns(PathConstants.ALL); + filterBean.setName("AuthorizationFilter"); + filterBean.setFilter(new FilterAdapter(securityBootstrap.getAuthorizationFilter())); + return filterBean; + } + + @Bean public StaticResourceFilter rawStaticResourceFilter(AppBasicsConfig appBasicsConfig) { return StaticResourceFilter.create(appBasicsConfig.getRootPath(), environment); }