From 078ea8c76897480461c580698d3a43f31fd34f45 Mon Sep 17 00:00:00 2001
From: chenrui <1950717904@qq.com>
Date: Mon, 1 Jul 2024 15:50:15 +0800
Subject: [PATCH] =?UTF-8?q?shiro=E5=8D=87=E7=BA=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/EmergencyBaseLib/EmergencyCommon/pom.xml | 24 +-
.../java/com/zdxt/common/util/Md5Hash.java | 40 +
.../java/com/zdxt/oss/constant/Constant.java | 1 -
lib/EmergencyBaseLib/pom.xml | 21 +-
lib/EmergencyCloud/pom.xml | 18 +-
lib/EmergencyService/pom.xml | 59 +-
.../controller/AppThirdLoginController.java | 6 +-
.../zdxt/auth/common/utils/CipherKeyUtil.java | 29 +
.../auth/framework/config/CorsFilter.java | 6 +-
.../auth/framework/config/CsrfFilter.java | 4 +-
.../auth/framework/config/HostFilter.java | 4 +-
.../auth/framework/config/MySimpleCookie.java | 1 +
.../framework/config/ResourcesConfig.java | 72 +-
.../config/ShiroCasConfiguration.java | 689 +++++++++---------
.../auth/framework/config/ShiroConfig.java | 23 +-
.../shiro/realm/ShiroCasUserRealm.java | 324 ++++----
.../shiro/service/PasswordService.java | 8 +-
.../framework/shiro/web/filter/CasFilter.java | 146 ++--
.../shiro/web/filter/LogoutFilter.java | 7 +-
.../user/controller/LoginController.java | 4 +
.../system/user/service/UserServiceImpl.java | 1 -
.../libs/jquery-layout/jquery-ui-latest.js | 20 +-
.../project/code/information/information.html | 2 +-
.../controller/ExcelModuleController.java | 5 +-
.../controller/ExcelUploadHisController.java | 4 +-
.../zdxt/excel/domain/AttachmentUpload.java | 80 +-
.../com/zdxt/excel/domain/ExcelModule.java | 9 +-
.../com/zdxt/excel/domain/ExcelUpload.java | 121 ++-
.../zdxt/excel/test/TestExportService.java | 5 +-
.../message/feign/PublicMessageApiImpl.java | 2 +-
.../com/zdxt/message/tio/TioWsMsgHandler.java | 2 +-
.../code/controller/ThirdLoginController.java | 6 +-
.../com/zdxt/code/service/MssqApiService.java | 5 +
.../service/impl/AccessTokenServiceImpl.java | 5 +-
.../EnterpriseInformationServiceImpl.java | 9 +-
.../code/service/impl/MssqApiServiceImpl.java | 6 +-
.../service/impl/ThirdLoginServiceImpl.java | 6 +-
.../main/java/com/zdxt/code/utils/Azdg.java | 17 +-
.../java/com/zdxt/code/utils/HttpUtil.java | 6 +-
.../java/com/zdxt/code/utils/QRCodeUtil.java | 5 +-
.../zdxt/code/utils/ServiceInvocation.java | 6 +-
lib/EmergencyServiceApi/pom.xml | 21 +-
lib/ZdxtComponent/pom.xml | 17 +
43 files changed, 1117 insertions(+), 729 deletions(-)
create mode 100644 lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/Md5Hash.java
create mode 100644 lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/common/utils/CipherKeyUtil.java
diff --git a/lib/EmergencyBaseLib/EmergencyCommon/pom.xml b/lib/EmergencyBaseLib/EmergencyCommon/pom.xml
index 5a916a70..4102453c 100644
--- a/lib/EmergencyBaseLib/EmergencyCommon/pom.xml
+++ b/lib/EmergencyBaseLib/EmergencyCommon/pom.xml
@@ -12,18 +12,18 @@
EmergencyBaseLib
EmergencyCommon
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 8
- 8
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
com.fasterxml.jackson.core
diff --git a/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/Md5Hash.java b/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/Md5Hash.java
new file mode 100644
index 00000000..0f0bb84f
--- /dev/null
+++ b/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/Md5Hash.java
@@ -0,0 +1,40 @@
+package com.zdxt.common.util;
+
+
+import cn.hutool.core.codec.Base64;
+import org.apache.shiro.codec.Hex;
+import org.apache.shiro.crypto.hash.SimpleHash;
+//import org.apache.shiro.lang.codec.Base64;
+//import org.apache.shiro.lang.codec.Hex;
+
+public class Md5Hash extends SimpleHash {
+ public static final String ALGORITHM_NAME = "MD5";
+
+ public Md5Hash() {
+ super("MD5");
+ }
+
+ public Md5Hash(Object source) {
+ super("MD5", source);
+ }
+
+ public Md5Hash(Object source, Object salt) {
+ super("MD5", source, salt);
+ }
+
+ public Md5Hash(Object source, Object salt, int hashIterations) {
+ super("MD5", source, salt, hashIterations);
+ }
+
+ public static Md5Hash fromHexString(String hex) {
+ Md5Hash hash = new Md5Hash();
+ hash.setBytes(Hex.decode(hex));
+ return hash;
+ }
+
+ public static Md5Hash fromBase64String(String base64) {
+ Md5Hash hash = new Md5Hash();
+ hash.setBytes(Base64.decode(base64));
+ return hash;
+ }
+}
diff --git a/lib/EmergencyBaseLib/EmergencyOss/src/main/java/com/zdxt/oss/constant/Constant.java b/lib/EmergencyBaseLib/EmergencyOss/src/main/java/com/zdxt/oss/constant/Constant.java
index 738c89a5..84d146eb 100644
--- a/lib/EmergencyBaseLib/EmergencyOss/src/main/java/com/zdxt/oss/constant/Constant.java
+++ b/lib/EmergencyBaseLib/EmergencyOss/src/main/java/com/zdxt/oss/constant/Constant.java
@@ -1,6 +1,5 @@
package com.zdxt.oss.constant;
-import org.omg.CORBA.INTERNAL;
public class Constant {
diff --git a/lib/EmergencyBaseLib/pom.xml b/lib/EmergencyBaseLib/pom.xml
index c83b70f3..1084a4a2 100644
--- a/lib/EmergencyBaseLib/pom.xml
+++ b/lib/EmergencyBaseLib/pom.xml
@@ -21,8 +21,9 @@
UTF-8
UTF-8
UTF-8
- 1.8
+ 11
3.1.1
+
1.8.0
2.0.0
1.2.6
@@ -201,5 +202,21 @@
2.2.13.RELEASE
-
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/EmergencyCloud/pom.xml b/lib/EmergencyCloud/pom.xml
index 258d12dc..d6a35963 100644
--- a/lib/EmergencyCloud/pom.xml
+++ b/lib/EmergencyCloud/pom.xml
@@ -8,5 +8,21 @@
EmergencyCloud
1.0
-
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/EmergencyService/pom.xml b/lib/EmergencyService/pom.xml
index 02f3a93f..105ec0ae 100644
--- a/lib/EmergencyService/pom.xml
+++ b/lib/EmergencyService/pom.xml
@@ -29,9 +29,10 @@
UTF-8
UTF-8
- 1.8
+ 11
+
1.8.0
- 2.0.0
+ 2.1.0
1.3.2
1.2.5
1.2.70
@@ -190,32 +191,32 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
- org.apache.shiro
- shiro-cas
- ${shiro.version}
-
+
+
+
+
+
+
@@ -492,13 +493,13 @@
org.apache.maven.plugins
maven-compiler-plugin
- 1.8
- 1.8
+ 8
+ 8
UTF-8
-
- -XDignore.symbol.file
-
- true
+
+
+
+
diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
index a3169792..55408a16 100644
--- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
+++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
@@ -19,6 +19,8 @@ import com.zdxt.common.util.RedisCache;
import com.zdxt.domain.auth.User;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Hex;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -35,11 +37,11 @@ import static com.zdxt.code.utils.ServiceInvocation.httpRequest;
/**
* 第三方登录控制层
*/
-@Slf4j
+
@Controller
@RequestMapping("/app/thirdLogin")
public class AppThirdLoginController {
-
+ private static final Logger log = LoggerFactory.getLogger(AppThirdLoginController.class);
@Value("${siq.code}")
private String code;
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/common/utils/CipherKeyUtil.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/common/utils/CipherKeyUtil.java
new file mode 100644
index 00000000..4270f4c3
--- /dev/null
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/common/utils/CipherKeyUtil.java
@@ -0,0 +1,29 @@
+package com.zdxt.auth.common.utils;
+
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * shiro 密钥生成工具
+ */
+public class CipherKeyUtil {
+
+ /**
+ * 随机生成秘钥,参考org.apache.shiro.crypto.AbstractSymmetricCipherService#generateNewKey(int)
+ * @return
+ */
+ public static byte[] generateNewKey() {
+ KeyGenerator kg;
+ try {
+ kg = KeyGenerator.getInstance("AES");
+ } catch (NoSuchAlgorithmException var5) {
+ String msg = "Unable to acquire AES algorithm. This is required to function.";
+ throw new IllegalStateException(msg, var5);
+ }
+ kg.init(128);
+ SecretKey key = kg.generateKey();
+ byte[] encoded = key.getEncoded();
+ return encoded;
+ }
+}
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java
index a42d8693..0a3a839a 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java
@@ -2,8 +2,11 @@ package com.zdxt.auth.framework.config;
import com.zdxt.auth.common.utils.security.ShiroUtils;
import com.zdxt.auth.framework.shiro.jwt.JWTUtils;
+import com.zdxt.common.util.AddressUtils;
import com.zdxt.domain.auth.User;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.servlet.*;
@@ -20,11 +23,10 @@ import java.util.Map;
* @author: QingWang.Li
* @date: 2020/5/27 11:35
*/
-@Slf4j
@Component()
public class CorsFilter implements Filter {
-
+ private static final Logger log = LoggerFactory.getLogger(CorsFilter.class);
// public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
// throws IOException, ServletException {
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CsrfFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CsrfFilter.java
index cf3f3037..0a4ff6cf 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CsrfFilter.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CsrfFilter.java
@@ -18,6 +18,8 @@ import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.zdxt.common.ZDResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.http.HttpStatus;
@@ -31,11 +33,11 @@ import lombok.extern.slf4j.Slf4j;
* @author CL
*
*/
-@Slf4j
@Component
@ConfigurationProperties(prefix = "security.csrf")
@WebFilter(filterName = "CsrfFilter", urlPatterns = "/*")
public class CsrfFilter implements Filter {
+ private static final Logger log = LoggerFactory.getLogger(CsrfFilter.class);
@Value("${allowed.servernames}")
private String ALLOWED_SERVERNAMES;
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/HostFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/HostFilter.java
index 5cef6f60..82acfc0e 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/HostFilter.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/HostFilter.java
@@ -1,6 +1,8 @@
package com.zdxt.auth.framework.config;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -20,9 +22,9 @@ import java.util.List;
* 多个host用逗号隔开,本地开发使用127.0.0.1,localhost
* @author liufr
*/
-@Slf4j
@Component
public class HostFilter implements Filter{
+ private static final Logger log = LoggerFactory.getLogger(HostFilter.class);
/**
* 自定义实现host白名单添加
*/
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/MySimpleCookie.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/MySimpleCookie.java
index 0f752de5..9f528123 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/MySimpleCookie.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/MySimpleCookie.java
@@ -1,6 +1,7 @@
package com.zdxt.auth.framework.config;
import org.apache.shiro.util.StringUtils;
+//import org.apache.shiro.lang.util.StringUtils;
import org.apache.shiro.web.servlet.SimpleCookie;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java
index 92318e02..eea7e4db 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ResourcesConfig.java
@@ -59,40 +59,40 @@ public class ResourcesConfig implements WebMvcConfigurer
/**
* 自定义拦截规则
*/
- @Override
- public void addInterceptors(InterceptorRegistry registry)
- {
-// registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
- registry.addInterceptor(new JWTInterceptor())
- .addPathPatterns("/app/**")
- .excludePathPatterns("/app/thirdLogin/siqLogin","/app/thirdLogin/siqLoginTest",
- "/app/thirdLogin/getSiqCode",
- "/common/upload",
- "/app/thirdLogin/szyptLogin/**",
- "/captcha/captchaImage/**",
- "/appLogin","/login","/index",
- "/enterpriseInformation",
- "/code/registration",
- "/code/linkage",
- "/code/ruleList",
- "/code/LawEnforcementWarningList",
- "/system/dept/**",
- "/system/user/**",
- "/system/role/**",
- "/system/post/**",
- "/system/menu/**",
- "/code/linkage/**",
- "/monitor/operlog",
- "/monitor/logininfor",
- "/system/dict",
- "/system/config",
- "/monitor/job",
- "/statistical/analysis",
- "/statistical/view",
- "/**/*.css",
- "/**/*.js", "/**/*.png", "/**/*.jpg",
- "/**/*.jpeg", "/**/*.gif", "/**/fonts/*"
- ).addPathPatterns("/**");
-// 除了登录放行,其他接口都token验证
- }
+// @Override
+// public void addInterceptors(InterceptorRegistry registry)
+// {
+//// registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
+// registry.addInterceptor(new JWTInterceptor())
+// .addPathPatterns("/app/**")
+// .excludePathPatterns("/app/thirdLogin/siqLogin","/app/thirdLogin/siqLoginTest",
+// "/app/thirdLogin/getSiqCode",
+// "/common/upload",
+// "/app/thirdLogin/szyptLogin/**",
+// "/captcha/captchaImage/**",
+// "/appLogin","/login","/index",
+// "/enterpriseInformation",
+// "/code/registration",
+// "/code/linkage",
+// "/code/ruleList",
+// "/code/LawEnforcementWarningList",
+// "/system/dept/**",
+// "/system/user/**",
+// "/system/role/**",
+// "/system/post/**",
+// "/system/menu/**",
+// "/code/linkage/**",
+// "/monitor/operlog",
+// "/monitor/logininfor",
+// "/system/dict",
+// "/system/config",
+// "/monitor/job",
+// "/statistical/analysis",
+// "/statistical/view",
+// "/**/*.css",
+// "/**/*.js", "/**/*.png", "/**/*.jpg",
+// "/**/*.jpeg", "/**/*.gif", "/**/fonts/*"
+// ).addPathPatterns("/**");
+//// 除了登录放行,其他接口都token验证
+// }
}
\ No newline at end of file
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroCasConfiguration.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroCasConfiguration.java
index 58d28a54..9b47499f 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroCasConfiguration.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroCasConfiguration.java
@@ -1,352 +1,353 @@
-package com.zdxt.auth.framework.config;
-
-import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
-import com.zdxt.auth.common.utils.StringUtils;
-import com.zdxt.auth.framework.shiro.realm.ShiroCasUserRealm;
-import com.zdxt.auth.framework.shiro.session.OnlineSessionFactory;
-import com.zdxt.auth.framework.shiro.web.filter.CasFilter;
-import com.zdxt.auth.framework.shiro.web.session.OnlineWebSessionManager;
-import com.zdxt.auth.framework.shiro.web.session.SpringSessionValidationScheduler;
-import com.zdxt.common.util.SpringUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.shiro.authc.pam.AtLeastOneSuccessfulStrategy;
-import org.apache.shiro.authc.pam.ModularRealmAuthenticator;
-import org.apache.shiro.cache.MemoryConstrainedCacheManager;
-import org.apache.shiro.cache.ehcache.EhCacheManager;
-import org.apache.shiro.cas.CasSubjectFactory;
-import org.apache.shiro.config.ConfigurationException;
-import org.apache.shiro.io.ResourceUtils;
-import org.apache.shiro.spring.LifecycleBeanPostProcessor;
-import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
-import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
-import org.apache.shiro.web.filter.authc.LogoutFilter;
-import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
-import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.web.filter.DelegatingFilterProxy;
-
-import javax.servlet.Filter;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * Shiro和Cas的整合配置文件
- *
- * @author: QingWang.Li
- * @date: 2020/5/13 14:49
- */
-// 启用cas环境时生效,环境切换在application.yml中配置
-@Profile("cas")
-@Configuration
-public class ShiroCasConfiguration {
-
- // Session超时时间,单位为毫秒(默认30分钟)
- @Value("${shiro.session.expireTime}")
- private int expireTime;
-
- // 设置Cookie的域名
- @Value("${shiro.cookie.domain}")
- private String domain;
-
- // 设置cookie的有效访问路径
- @Value("${shiro.cookie.path}")
- private String path;
-
- // 设置HttpOnly属性
- @Value("${shiro.cookie.httpOnly}")
- private boolean httpOnly;
-
- // 设置Cookie的过期时间,秒为单位
- @Value("${shiro.cookie.maxAge}")
- private int maxAge;
-
- // 登录地址
- @Value("${shiro.casLoginUrl}")
- private String loginUrl;
-
- /**
- * 缓存管理器 使用Ehcache实现
- */
- @Bean
- public EhCacheManager getEhCacheManager() {
- net.sf.ehcache.CacheManager cacheManager = net.sf.ehcache.CacheManager.getCacheManager("ruoyi");
- EhCacheManager em = new EhCacheManager();
- if (StringUtils.isNull(cacheManager)) {
- em.setCacheManager(new net.sf.ehcache.CacheManager(getCacheManagerConfigFileInputStream()));
- return em;
- } else {
- em.setCacheManager(cacheManager);
- return em;
- }
- }
-
- /**
- * 返回配置文件流 避免ehcache配置文件一直被占用,无法完全销毁项目重新部署
- */
- protected InputStream getCacheManagerConfigFileInputStream() {
- String configFile = "classpath:ehcache/ehcache-shiro.xml";
- InputStream inputStream = null;
- try {
- inputStream = ResourceUtils.getInputStreamForPath(configFile);
- byte[] b = IOUtils.toByteArray(inputStream);
- InputStream in = new ByteArrayInputStream(b);
- return in;
- } catch (IOException e) {
- throw new ConfigurationException(
- "Unable to obtain input stream for cacheManagerConfigFile [" + configFile + "]", e);
- } finally {
- IOUtils.closeQuietly(inputStream);
- }
- }
-
- @Bean(name = "casRealm")
- public ShiroCasUserRealm casRealm(@Value("${shiro.casServerUrlPrefix}") String casServerUrlPrefix,
- @Value("${shiro.shiroServerUrlPrefix}") String shiroServerUrlPrefix,
- @Value("${shiro.casFilterUrlPattern}") String casFilterUrlPattern,
- EhCacheManager cacheManager) {
- ShiroCasUserRealm casRealm = new ShiroCasUserRealm();
- // 认证通过后的默认角色
- casRealm.setDefaultRoles("ROLE_USER");
- // cas服务端地址前缀
- casRealm.setCasServerUrlPrefix(casServerUrlPrefix);
- // 应用服务地址,用来接收cas服务端票证
- casRealm.setCasService(shiroServerUrlPrefix + casFilterUrlPattern);
-
- casRealm.setCacheManager(cacheManager);
- return casRealm;
- }
-
+//package com.zdxt.auth.framework.config;
+//
+//import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
+//import com.zdxt.auth.common.utils.StringUtils;
+//import com.zdxt.auth.framework.shiro.realm.ShiroCasUserRealm;
+//import com.zdxt.auth.framework.shiro.session.OnlineSessionFactory;
+//import com.zdxt.auth.framework.shiro.web.filter.CasFilter;
+//import com.zdxt.auth.framework.shiro.web.session.OnlineWebSessionManager;
+//import com.zdxt.auth.framework.shiro.web.session.SpringSessionValidationScheduler;
+//import com.zdxt.common.util.SpringUtils;
+//import org.apache.commons.io.IOUtils;
+//import org.apache.shiro.authc.pam.AtLeastOneSuccessfulStrategy;
+//import org.apache.shiro.authc.pam.ModularRealmAuthenticator;
+//import org.apache.shiro.cache.MemoryConstrainedCacheManager;
+//import org.apache.shiro.cache.ehcache.EhCacheManager;
+//import org.apache.shiro.cas.CasSubjectFactory;
+//import org.apache.shiro.config.ConfigurationException;
+////import org.apache.shiro.io.ResourceUtils;
+//import org.apache.shiro.lang.io.ResourceUtils;
+//import org.apache.shiro.spring.LifecycleBeanPostProcessor;
+//import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
+//import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+//import org.apache.shiro.web.filter.authc.LogoutFilter;
+//import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
+//import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.boot.web.servlet.FilterRegistrationBean;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.context.annotation.Profile;
+//import org.springframework.web.filter.DelegatingFilterProxy;
+//
+//import javax.servlet.Filter;
+//import java.io.ByteArrayInputStream;
+//import java.io.IOException;
+//import java.io.InputStream;
+//import java.util.HashMap;
+//import java.util.LinkedHashMap;
+//import java.util.Map;
+//
+///**
+// * Shiro和Cas的整合配置文件
+// *
+// * @author: QingWang.Li
+// * @date: 2020/5/13 14:49
+// */
+//// 启用cas环境时生效,环境切换在application.yml中配置
+//@Profile("cas")
+//@Configuration
+//public class ShiroCasConfiguration {
+//
+// // Session超时时间,单位为毫秒(默认30分钟)
+// @Value("${shiro.session.expireTime}")
+// private int expireTime;
+//
+// // 设置Cookie的域名
+// @Value("${shiro.cookie.domain}")
+// private String domain;
+//
+// // 设置cookie的有效访问路径
+// @Value("${shiro.cookie.path}")
+// private String path;
+//
+// // 设置HttpOnly属性
+// @Value("${shiro.cookie.httpOnly}")
+// private boolean httpOnly;
+//
+// // 设置Cookie的过期时间,秒为单位
+// @Value("${shiro.cookie.maxAge}")
+// private int maxAge;
+//
+// // 登录地址
+// @Value("${shiro.casLoginUrl}")
+// private String loginUrl;
+//
// /**
-// * 自定义sessionDAO会话
+// * 缓存管理器 使用Ehcache实现
// */
// @Bean
-// public OnlineSessionDAO sessionDAO() {
-// OnlineSessionDAO sessionDAO = new OnlineSessionDAO();
-// return sessionDAO;
+// public EhCacheManager getEhCacheManager() {
+// net.sf.ehcache.CacheManager cacheManager = net.sf.ehcache.CacheManager.getCacheManager("ruoyi");
+// EhCacheManager em = new EhCacheManager();
+// if (StringUtils.isNull(cacheManager)) {
+// em.setCacheManager(new net.sf.ehcache.CacheManager(getCacheManagerConfigFileInputStream()));
+// return em;
+// } else {
+// em.setCacheManager(cacheManager);
+// return em;
+// }
// }
-
- /**
- * 自定义sessionFactory会话
- */
- @Bean
- public OnlineSessionFactory sessionFactory() {
- OnlineSessionFactory sessionFactory = new OnlineSessionFactory();
- return sessionFactory;
- }
-
+//
// /**
-// * 会话管理器
+// * 返回配置文件流 避免ehcache配置文件一直被占用,无法完全销毁项目重新部署
+// */
+// protected InputStream getCacheManagerConfigFileInputStream() {
+// String configFile = "classpath:ehcache/ehcache-shiro.xml";
+// InputStream inputStream = null;
+// try {
+// inputStream = ResourceUtils.getInputStreamForPath(configFile);
+// byte[] b = IOUtils.toByteArray(inputStream);
+// InputStream in = new ByteArrayInputStream(b);
+// return in;
+// } catch (IOException e) {
+// throw new ConfigurationException(
+// "Unable to obtain input stream for cacheManagerConfigFile [" + configFile + "]", e);
+// } finally {
+// IOUtils.closeQuietly(inputStream);
+// }
+// }
+//
+// @Bean(name = "casRealm")
+// public ShiroCasUserRealm casRealm(@Value("${shiro.casServerUrlPrefix}") String casServerUrlPrefix,
+// @Value("${shiro.shiroServerUrlPrefix}") String shiroServerUrlPrefix,
+// @Value("${shiro.casFilterUrlPattern}") String casFilterUrlPattern,
+// EhCacheManager cacheManager) {
+// ShiroCasUserRealm casRealm = new ShiroCasUserRealm();
+// // 认证通过后的默认角色
+// casRealm.setDefaultRoles("ROLE_USER");
+// // cas服务端地址前缀
+// casRealm.setCasServerUrlPrefix(casServerUrlPrefix);
+// // 应用服务地址,用来接收cas服务端票证
+// casRealm.setCasService(shiroServerUrlPrefix + casFilterUrlPattern);
+//
+// casRealm.setCacheManager(cacheManager);
+// return casRealm;
+// }
+//
+//// /**
+//// * 自定义sessionDAO会话
+//// */
+//// @Bean
+//// public OnlineSessionDAO sessionDAO() {
+//// OnlineSessionDAO sessionDAO = new OnlineSessionDAO();
+//// return sessionDAO;
+//// }
+//
+// /**
+// * 自定义sessionFactory会话
+// */
+// @Bean
+// public OnlineSessionFactory sessionFactory() {
+// OnlineSessionFactory sessionFactory = new OnlineSessionFactory();
+// return sessionFactory;
+// }
+//
+//// /**
+//// * 会话管理器
+//// */
+//// @Bean
+//// public OnlineWebSessionManager sessionManager() {
+//// OnlineWebSessionManager manager = new OnlineWebSessionManager();
+//// // 加入缓存管理器
+//// manager.setCacheManager(getEhCacheManager());
+//// // 删除过期的session
+//// manager.setDeleteInvalidSessions(true);
+//// // 设置全局session超时时间
+//// manager.setGlobalSessionTimeout(expireTime * 60 * 1000);
+//// // 去掉 JSESSIONID
+//// manager.setSessionIdUrlRewritingEnabled(false);
+//// // 定义要使用的无效的Session定时调度器
+//// manager.setSessionValidationScheduler(SpringUtils.getBean(SpringSessionValidationScheduler.class));
+//// // 是否定时检查session
+//// manager.setSessionValidationSchedulerEnabled(true);
+//// // 自定义SessionDao
+//// manager.setSessionDAO(sessionDAO());
+//// // 自定义sessionFactory
+//// manager.setSessionFactory(sessionFactory());
+//// return manager;
+//// }
+//
+// /**
+// * 配置安全管理器
+// **/
+// @Bean(name = "securityManager")
+// public DefaultWebSecurityManager defaultWebSecurityManager(ModularRealmAuthenticator authenticator,
+// ShiroCasUserRealm casRealm) {
+// DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+// // 设置授权策略,此步骤必须在设置realm的前面,不然会报错realm未配置
+// securityManager.setAuthenticator(authenticator);
+// securityManager.setSubjectFactory(new CasSubjectFactory());
+//
+// // 缓存管理器
+// securityManager.setCacheManager(new MemoryConstrainedCacheManager());
+// // 设置自定义验证策略
+// securityManager.setRealm(casRealm);
+//
+// return securityManager;
+// }
+//
+// /**
+// * 退出过滤器
+// */
+// public com.zdxt.auth.framework.shiro.web.filter.LogoutFilter logoutFilter() {
+// com.zdxt.auth.framework.shiro.web.filter.LogoutFilter logoutFilter = new com.zdxt.auth.framework.shiro.web.filter.LogoutFilter();
+// logoutFilter.setCacheManager(getEhCacheManager());
+// logoutFilter.setLoginUrl(loginUrl);
+// return logoutFilter;
+// }
+//
+// /**
+// * 配置登录过滤器
+// */
+// @Bean(name = "casFilter")
+// public CasFilter casFilter(@Value("${shiro.casLoginUrl}") String loginUrl) {
+// CasFilter casFilter = new CasFilter();
+// casFilter.setName("casFilter");
+// casFilter.setEnabled(true);
+// casFilter.setFailureUrl(loginUrl);
+// return casFilter;
+// }
+//
+// /**
+// * shiro 过滤器
+// */
+// @Bean(name = "shiroFilter")
+// public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager securityManager,
+// CasFilter casFilter,
+// @Value("${shiro.casLogoutUrl}") String logoutUrl,
+// @Value("${shiro.casLoginUrl}") String loginUrl,
+// @Value("${shiro.casFilterUrlPattern}") String casFilterUrlPattern) {
+// ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
+// // 设置安全管理器
+// shiroFilterFactoryBean.setSecurityManager(securityManager);
+// // 设置登录地址
+// shiroFilterFactoryBean.setLoginUrl(loginUrl);
+// // 设置登录成功地址
+// shiroFilterFactoryBean.setSuccessUrl("/");
+// // 配置拦截地址
+// Map filters = new HashMap<>();
+// filters.put("casFilter", casFilter);
+//
+// // 配置登出地址 5.0版本和3.0版本
+// LogoutFilter logoutFilter = new LogoutFilter();
+// logoutFilter.setRedirectUrl(logoutUrl);
+// filters.put("logout", logoutFilter);
+//
+// // 注销成功,则跳转到指定页面 4.0版本
+// // filters.put("logout", logoutFilter());
+//
+// shiroFilterFactoryBean.setFilters(filters);
+// // 设置访问用户页面需要授权的操作
+// loadShiroFilterChain(shiroFilterFactoryBean, casFilterUrlPattern);
+// // 将设置的权限设置到shiroFilterFactoryBean
+// return shiroFilterFactoryBean;
+// }
+//
+// /**
+// * 1、当我们第一次访问客户端时,先去cas进行认证,成功后会返回一个ticket
+// * 2、返回的ticket地址在casRealm已经进行了配置,shiroServerUrlPrefix + casFilterUrlPattern
+// * 3、即地址为/shiro-cas,对该地址进行casFilter拦截
+// */
+// private void loadShiroFilterChain(ShiroFilterFactoryBean shiroFilterFactoryBean, String casFilterUrlPattern) {
+// Map filterChainDefinitionMap = new LinkedHashMap<>();
+//
+// filterChainDefinitionMap.put(casFilterUrlPattern, "casFilter");
+//
+// // 对静态资源设置匿名访问
+// filterChainDefinitionMap.put("/favicon.ico**", "anon");
+// filterChainDefinitionMap.put("/ruoyi.png**", "anon");
+// filterChainDefinitionMap.put("/css/**", "anon");
+// filterChainDefinitionMap.put("/docs/**", "anon");
+// filterChainDefinitionMap.put("/fonts/**", "anon");
+// filterChainDefinitionMap.put("/img/**", "anon");
+// filterChainDefinitionMap.put("/ajax/**", "anon");
+// filterChainDefinitionMap.put("/js/**", "anon");
+// filterChainDefinitionMap.put("/ruoyi/**", "anon");
+// // 附件访问不拦截
+// filterChainDefinitionMap.put("/profile/**", "anon");
+// // 不拦截app登录
+// filterChainDefinitionMap.put("/appAjaxLogin", "anon");
+// filterChainDefinitionMap.put("/app/appLogin", "anon");
+// filterChainDefinitionMap.put("/app/**", "anon");
+// // 金蝶同步数据不拦截
+// filterChainDefinitionMap.put("/kingdee/dataSync/**", "anon");
+// filterChainDefinitionMap.put("/captcha/captchaImage**", "anon");
+//
+// // 对外开放的controller不拦截
+// filterChainDefinitionMap.put("/external/**", "anon");
+//
+// // 退出 logout地址,shiro去清除session
+// filterChainDefinitionMap.put("/logout", "logout");
+// filterChainDefinitionMap.put("/**", "authc");
+//
+// shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
+// }
+//
+// /**
+// * 添加shiro的filter
+// */
+// @Bean
+// public FilterRegistrationBean filterRegistrationBean() {
+// FilterRegistrationBean filterRegistration = new FilterRegistrationBean();
+// filterRegistration.setFilter(new DelegatingFilterProxy("shiroFilter"));
+// filterRegistration.addInitParameter("targetFilterLifecycle", "true");
+// filterRegistration.setEnabled(true);
+// filterRegistration.addUrlPatterns("/*");
+// return filterRegistration;
+// }
+//
+// /**
+// * 保证了shiro内部lifecycle函数bean的执行
+// */
+// @Bean(name = "lifecycleBeanPostProcessor")
+// public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
+// return new LifecycleBeanPostProcessor();
+// }
+//
+// /**
+// * 配置授权策略
+// */
+// @Bean(name = "authenticator")
+// public ModularRealmAuthenticator modularRealmAuthenticator() {
+// ModularRealmAuthenticator authenticator = new ModularRealmAuthenticator();
+// authenticator.setAuthenticationStrategy(new AtLeastOneSuccessfulStrategy());
+// return authenticator;
+// }
+//
+// /**
+// * 开启Shiro的注解(如@RequiresPermissions)
+// * 需借助SpringAOP扫描使用Shiro注解的类
+// * 配置以下两个bean(DefaultAdvisorAutoProxyCreator和AuthorizationAttributeSourceAdvisor)即可实现此功能
+// *
+// * @return
+// */
+// @Bean
+// public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() {
+// DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
+// advisorAutoProxyCreator.setProxyTargetClass(true);
+// return advisorAutoProxyCreator;
+// }
+//
+// /**
+// * 开启aop注解支持
+// *
+// * @param securityManager
+// * @return
+// */
+// @Bean
+// public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(DefaultWebSecurityManager securityManager) {
+// AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
+// authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
+// return authorizationAttributeSourceAdvisor;
+// }
+//
+// /**
+// * thymeleaf模板引擎和shiro框架的整合
// */
// @Bean
-// public OnlineWebSessionManager sessionManager() {
-// OnlineWebSessionManager manager = new OnlineWebSessionManager();
-// // 加入缓存管理器
-// manager.setCacheManager(getEhCacheManager());
-// // 删除过期的session
-// manager.setDeleteInvalidSessions(true);
-// // 设置全局session超时时间
-// manager.setGlobalSessionTimeout(expireTime * 60 * 1000);
-// // 去掉 JSESSIONID
-// manager.setSessionIdUrlRewritingEnabled(false);
-// // 定义要使用的无效的Session定时调度器
-// manager.setSessionValidationScheduler(SpringUtils.getBean(SpringSessionValidationScheduler.class));
-// // 是否定时检查session
-// manager.setSessionValidationSchedulerEnabled(true);
-// // 自定义SessionDao
-// manager.setSessionDAO(sessionDAO());
-// // 自定义sessionFactory
-// manager.setSessionFactory(sessionFactory());
-// return manager;
+// public ShiroDialect shiroDialect() {
+// return new ShiroDialect();
// }
-
- /**
- * 配置安全管理器
- **/
- @Bean(name = "securityManager")
- public DefaultWebSecurityManager defaultWebSecurityManager(ModularRealmAuthenticator authenticator,
- ShiroCasUserRealm casRealm) {
- DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
- // 设置授权策略,此步骤必须在设置realm的前面,不然会报错realm未配置
- securityManager.setAuthenticator(authenticator);
- securityManager.setSubjectFactory(new CasSubjectFactory());
-
- // 缓存管理器
- securityManager.setCacheManager(new MemoryConstrainedCacheManager());
- // 设置自定义验证策略
- securityManager.setRealm(casRealm);
-
- return securityManager;
- }
-
- /**
- * 退出过滤器
- */
- public com.zdxt.auth.framework.shiro.web.filter.LogoutFilter logoutFilter() {
- com.zdxt.auth.framework.shiro.web.filter.LogoutFilter logoutFilter = new com.zdxt.auth.framework.shiro.web.filter.LogoutFilter();
- logoutFilter.setCacheManager(getEhCacheManager());
- logoutFilter.setLoginUrl(loginUrl);
- return logoutFilter;
- }
-
- /**
- * 配置登录过滤器
- */
- @Bean(name = "casFilter")
- public CasFilter casFilter(@Value("${shiro.casLoginUrl}") String loginUrl) {
- CasFilter casFilter = new CasFilter();
- casFilter.setName("casFilter");
- casFilter.setEnabled(true);
- casFilter.setFailureUrl(loginUrl);
- return casFilter;
- }
-
- /**
- * shiro 过滤器
- */
- @Bean(name = "shiroFilter")
- public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager securityManager,
- CasFilter casFilter,
- @Value("${shiro.casLogoutUrl}") String logoutUrl,
- @Value("${shiro.casLoginUrl}") String loginUrl,
- @Value("${shiro.casFilterUrlPattern}") String casFilterUrlPattern) {
- ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
- // 设置安全管理器
- shiroFilterFactoryBean.setSecurityManager(securityManager);
- // 设置登录地址
- shiroFilterFactoryBean.setLoginUrl(loginUrl);
- // 设置登录成功地址
- shiroFilterFactoryBean.setSuccessUrl("/");
- // 配置拦截地址
- Map filters = new HashMap<>();
- filters.put("casFilter", casFilter);
-
- // 配置登出地址 5.0版本和3.0版本
- LogoutFilter logoutFilter = new LogoutFilter();
- logoutFilter.setRedirectUrl(logoutUrl);
- filters.put("logout", logoutFilter);
-
- // 注销成功,则跳转到指定页面 4.0版本
- // filters.put("logout", logoutFilter());
-
- shiroFilterFactoryBean.setFilters(filters);
- // 设置访问用户页面需要授权的操作
- loadShiroFilterChain(shiroFilterFactoryBean, casFilterUrlPattern);
- // 将设置的权限设置到shiroFilterFactoryBean
- return shiroFilterFactoryBean;
- }
-
- /**
- * 1、当我们第一次访问客户端时,先去cas进行认证,成功后会返回一个ticket
- * 2、返回的ticket地址在casRealm已经进行了配置,shiroServerUrlPrefix + casFilterUrlPattern
- * 3、即地址为/shiro-cas,对该地址进行casFilter拦截
- */
- private void loadShiroFilterChain(ShiroFilterFactoryBean shiroFilterFactoryBean, String casFilterUrlPattern) {
- Map filterChainDefinitionMap = new LinkedHashMap<>();
-
- filterChainDefinitionMap.put(casFilterUrlPattern, "casFilter");
-
- // 对静态资源设置匿名访问
- filterChainDefinitionMap.put("/favicon.ico**", "anon");
- filterChainDefinitionMap.put("/ruoyi.png**", "anon");
- filterChainDefinitionMap.put("/css/**", "anon");
- filterChainDefinitionMap.put("/docs/**", "anon");
- filterChainDefinitionMap.put("/fonts/**", "anon");
- filterChainDefinitionMap.put("/img/**", "anon");
- filterChainDefinitionMap.put("/ajax/**", "anon");
- filterChainDefinitionMap.put("/js/**", "anon");
- filterChainDefinitionMap.put("/ruoyi/**", "anon");
- // 附件访问不拦截
- filterChainDefinitionMap.put("/profile/**", "anon");
- // 不拦截app登录
- filterChainDefinitionMap.put("/appAjaxLogin", "anon");
- filterChainDefinitionMap.put("/app/appLogin", "anon");
- filterChainDefinitionMap.put("/app/**", "anon");
- // 金蝶同步数据不拦截
- filterChainDefinitionMap.put("/kingdee/dataSync/**", "anon");
- filterChainDefinitionMap.put("/captcha/captchaImage**", "anon");
-
- // 对外开放的controller不拦截
- filterChainDefinitionMap.put("/external/**", "anon");
-
- // 退出 logout地址,shiro去清除session
- filterChainDefinitionMap.put("/logout", "logout");
- filterChainDefinitionMap.put("/**", "authc");
-
- shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
- }
-
- /**
- * 添加shiro的filter
- */
- @Bean
- public FilterRegistrationBean filterRegistrationBean() {
- FilterRegistrationBean filterRegistration = new FilterRegistrationBean();
- filterRegistration.setFilter(new DelegatingFilterProxy("shiroFilter"));
- filterRegistration.addInitParameter("targetFilterLifecycle", "true");
- filterRegistration.setEnabled(true);
- filterRegistration.addUrlPatterns("/*");
- return filterRegistration;
- }
-
- /**
- * 保证了shiro内部lifecycle函数bean的执行
- */
- @Bean(name = "lifecycleBeanPostProcessor")
- public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
- return new LifecycleBeanPostProcessor();
- }
-
- /**
- * 配置授权策略
- */
- @Bean(name = "authenticator")
- public ModularRealmAuthenticator modularRealmAuthenticator() {
- ModularRealmAuthenticator authenticator = new ModularRealmAuthenticator();
- authenticator.setAuthenticationStrategy(new AtLeastOneSuccessfulStrategy());
- return authenticator;
- }
-
- /**
- * 开启Shiro的注解(如@RequiresPermissions)
- * 需借助SpringAOP扫描使用Shiro注解的类
- * 配置以下两个bean(DefaultAdvisorAutoProxyCreator和AuthorizationAttributeSourceAdvisor)即可实现此功能
- *
- * @return
- */
- @Bean
- public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() {
- DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
- advisorAutoProxyCreator.setProxyTargetClass(true);
- return advisorAutoProxyCreator;
- }
-
- /**
- * 开启aop注解支持
- *
- * @param securityManager
- * @return
- */
- @Bean
- public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(DefaultWebSecurityManager securityManager) {
- AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
- authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
- return authorizationAttributeSourceAdvisor;
- }
-
- /**
- * thymeleaf模板引擎和shiro框架的整合
- */
- @Bean
- public ShiroDialect shiroDialect() {
- return new ShiroDialect();
- }
-
-}
\ No newline at end of file
+//
+//}
\ No newline at end of file
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroConfig.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroConfig.java
index 06f02775..14923c3a 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroConfig.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/ShiroConfig.java
@@ -1,6 +1,7 @@
package com.zdxt.auth.framework.config;
import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
+import com.zdxt.auth.common.utils.CipherKeyUtil;
import com.zdxt.auth.common.utils.StringUtils;
import com.zdxt.auth.framework.shiro.realm.UserRealm;
import com.zdxt.auth.framework.shiro.web.filter.LogoutFilter;
@@ -8,6 +9,7 @@ import com.zdxt.auth.framework.shiro.web.filter.captcha.CaptchaValidateFilter;
import com.zdxt.auth.framework.shiro.web.filter.kickout.KickoutSessionFilter;
import com.zdxt.common.util.CipherUtils;
import com.zdxt.common.util.Constants;
+//import org.apache.shiro.lang.codec.Base64;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.session.mgt.SessionManager;
@@ -27,6 +29,8 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
import javax.servlet.Filter;
import java.util.LinkedHashMap;
@@ -354,18 +358,19 @@ public class ShiroConfig {
/**
* 记住我
*/
- public CookieRememberMeManager rememberMeManager()
- {
+ public CookieRememberMeManager rememberMeManager() {
CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager();
cookieRememberMeManager.setCookie(rememberMeCookie());
- if (StringUtils.isNotEmpty(cipherKey))
- {
- cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey));
- }
- else
- {
- cookieRememberMeManager.setCipherKey(CipherUtils.generateNewKey(128, "AES").getEncoded());
+ try {
+ KeyGenerator keygen = KeyGenerator.getInstance("AES");
+ SecretKey deskey = keygen.generateKey();
+ String value = Base64.encodeToString(deskey.getEncoded());
+ cookieRememberMeManager.setCipherKey(Base64.decode(value));
+// cookieRememberMeManager.setCipherKey(Base64.decode(cipherKey));
+ } catch(Exception e) {
+
}
+// cookieRememberMeManager.setCipherKey(Base64.decode("fCq+/xW488hMTCD+cmJ3aQ=="));
return cookieRememberMeManager;
}
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/ShiroCasUserRealm.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/ShiroCasUserRealm.java
index 026f7ed5..926db142 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/ShiroCasUserRealm.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/ShiroCasUserRealm.java
@@ -1,162 +1,162 @@
-package com.zdxt.auth.framework.shiro.realm;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.zdxt.auth.common.exception.user.*;
-import com.zdxt.auth.common.utils.security.ShiroUtils;
-import com.zdxt.auth.framework.shiro.service.LoginService;
-import com.zdxt.auth.project.system.menu.service.IMenuService;
-import com.zdxt.auth.project.system.role.service.IRoleService;
-import com.zdxt.auth.project.system.user.mapper.UserMapper;
-import com.zdxt.domain.auth.User;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authc.*;
-import org.apache.shiro.authz.AuthorizationInfo;
-import org.apache.shiro.authz.SimpleAuthorizationInfo;
-import org.apache.shiro.cas.CasRealm;
-import org.apache.shiro.cas.CasToken;
-import org.apache.shiro.subject.PrincipalCollection;
-import org.apache.shiro.subject.SimplePrincipalCollection;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * shiro和cas整合的Realm 处理登录 权限
- * @author: QingWang.Li
- * @date: 2020/5/13 14:17
- */
-public class ShiroCasUserRealm extends CasRealm implements ZdxtUserRealm {
- private static Logger log = LoggerFactory.getLogger(ShiroCasUserRealm.class);
-
- @Autowired
- private IMenuService menuService;
-
- @Autowired
- private IRoleService roleService;
-
- @Autowired
- private LoginService loginService;
-
- @Autowired
- private UserMapper userMapper;
-
- /**
- * 在调用subject.login()时,首先调用此接口
- */
- @Override
- public AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
- // 调用父类的方法,然后授权用户
- AuthenticationInfo authc = super.doGetAuthenticationInfo(token);
- // 获得用户名
- String username = (String) authc.getPrincipals().getPrimaryPrincipal();
-
- // 获取ticket
- CasToken casToken = (CasToken) token;
- String ticket = (String) casToken.getCredentials();
- if(ticket!=null&&!ticket.equals("")){
- // 从数据库中获取用户信息
- User user = userMapper.selectUserByLoginName(username);
- if (BeanUtil.isNotEmpty(user)) {
- PrincipalCollection principalCollection = new SimplePrincipalCollection(user, getName());
-
- // 返回携带用户信息和ticket的信息对象
- return new SimpleAuthenticationInfo(principalCollection, ticket);
- }
- return null;
- }else{
- UsernamePasswordToken upToken = (UsernamePasswordToken) token;
- String username1 = upToken.getUsername();
- String password = "";
- if (upToken.getPassword() != null)
- {
- password = new String(upToken.getPassword());
- }
-
- User user = null;
- try
- {
- user = loginService.login(username1, password);
- }
- catch (CaptchaException e)
- {
- throw new AuthenticationException(e.getMessage(), e);
- }
- catch (UserNotExistsException e)
- {
- throw new UnknownAccountException(e.getMessage(), e);
- }
- catch (UserPasswordNotMatchException e)
- {
- throw new IncorrectCredentialsException(e.getMessage(), e);
- }
- catch (UserPasswordRetryLimitExceedException e)
- {
- throw new ExcessiveAttemptsException(e.getMessage(), e);
- }
- catch (UserBlockedException e)
- {
- throw new LockedAccountException(e.getMessage(), e);
- }
- catch (RoleBlockedException e)
- {
- throw new LockedAccountException(e.getMessage(), e);
- }
- catch (Exception e)
- {
- log.info("对用户[" + username + "]进行登录验证..验证未通过{}", e.getMessage());
- throw new AuthenticationException(e.getMessage(), e);
- }
- SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, password, getName());
- return info;
- }
-
- }
-
- /**
- * 进行权限验证的时候,调用方法,将用户的权限信息写进SimpleAuthorizationInfo
- */
- @Override
- public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
- // 用户名称
- log.info("进入了权限认证");
- Object username = principals.getPrimaryPrincipal();
- SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
- // 从数据库获取用户权限
-
- // 简单例子
- // Set permission = new HashSet<>();
- // permission.add("sys:dept:list");
- // info.setStringPermissions(permission);
-
- User user = ShiroUtils.getSysUser();
- // 角色列表
- Set roles = new HashSet();
- // 功能列表
- Set menus = new HashSet();
- // 管理员拥有所有权限
- if (user.isAdmin()) {
- info.addRole("admin");
- info.addStringPermission("*:*:*");
- } else {
- roles = roleService.selectRoleKeys(user.getUserId());
- menus = menuService.selectPermsByUserId(user.getUserId());
- // 角色加入AuthorizationInfo认证对象
- info.setRoles(roles);
- // 权限加入AuthorizationInfo认证对象
- info.setStringPermissions(menus);
- }
- return info;
- }
-
- /**
- * 清理缓存权限
- */
- @Override
- public void clearCachedAuthorizationInfo()
- {
- this.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());
- }
-}
\ No newline at end of file
+//package com.zdxt.auth.framework.shiro.realm;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.zdxt.auth.common.exception.user.*;
+//import com.zdxt.auth.common.utils.security.ShiroUtils;
+//import com.zdxt.auth.framework.shiro.service.LoginService;
+//import com.zdxt.auth.project.system.menu.service.IMenuService;
+//import com.zdxt.auth.project.system.role.service.IRoleService;
+//import com.zdxt.auth.project.system.user.mapper.UserMapper;
+//import com.zdxt.domain.auth.User;
+//import org.apache.shiro.SecurityUtils;
+//import org.apache.shiro.authc.*;
+//import org.apache.shiro.authz.AuthorizationInfo;
+//import org.apache.shiro.authz.SimpleAuthorizationInfo;
+//import org.apache.shiro.cas.CasRealm;
+//import org.apache.shiro.cas.CasToken;
+//import org.apache.shiro.subject.PrincipalCollection;
+//import org.apache.shiro.subject.SimplePrincipalCollection;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.beans.factory.annotation.Autowired;
+//
+//import java.util.HashSet;
+//import java.util.Set;
+//
+///**
+// * shiro和cas整合的Realm 处理登录 权限
+// * @author: QingWang.Li
+// * @date: 2020/5/13 14:17
+// */
+//public class ShiroCasUserRealm extends CasRealm implements ZdxtUserRealm {
+// private static Logger log = LoggerFactory.getLogger(ShiroCasUserRealm.class);
+//
+// @Autowired
+// private IMenuService menuService;
+//
+// @Autowired
+// private IRoleService roleService;
+//
+// @Autowired
+// private LoginService loginService;
+//
+// @Autowired
+// private UserMapper userMapper;
+//
+// /**
+// * 在调用subject.login()时,首先调用此接口
+// */
+// @Override
+// public AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
+// // 调用父类的方法,然后授权用户
+// AuthenticationInfo authc = super.doGetAuthenticationInfo(token);
+// // 获得用户名
+// String username = (String) authc.getPrincipals().getPrimaryPrincipal();
+//
+// // 获取ticket
+// CasToken casToken = (CasToken) token;
+// String ticket = (String) casToken.getCredentials();
+// if(ticket!=null&&!ticket.equals("")){
+// // 从数据库中获取用户信息
+// User user = userMapper.selectUserByLoginName(username);
+// if (BeanUtil.isNotEmpty(user)) {
+// PrincipalCollection principalCollection = new SimplePrincipalCollection(user, getName());
+//
+// // 返回携带用户信息和ticket的信息对象
+// return new SimpleAuthenticationInfo(principalCollection, ticket);
+// }
+// return null;
+// }else{
+// UsernamePasswordToken upToken = (UsernamePasswordToken) token;
+// String username1 = upToken.getUsername();
+// String password = "";
+// if (upToken.getPassword() != null)
+// {
+// password = new String(upToken.getPassword());
+// }
+//
+// User user = null;
+// try
+// {
+// user = loginService.login(username1, password);
+// }
+// catch (CaptchaException e)
+// {
+// throw new AuthenticationException(e.getMessage(), e);
+// }
+// catch (UserNotExistsException e)
+// {
+// throw new UnknownAccountException(e.getMessage(), e);
+// }
+// catch (UserPasswordNotMatchException e)
+// {
+// throw new IncorrectCredentialsException(e.getMessage(), e);
+// }
+// catch (UserPasswordRetryLimitExceedException e)
+// {
+// throw new ExcessiveAttemptsException(e.getMessage(), e);
+// }
+// catch (UserBlockedException e)
+// {
+// throw new LockedAccountException(e.getMessage(), e);
+// }
+// catch (RoleBlockedException e)
+// {
+// throw new LockedAccountException(e.getMessage(), e);
+// }
+// catch (Exception e)
+// {
+// log.info("对用户[" + username + "]进行登录验证..验证未通过{}", e.getMessage());
+// throw new AuthenticationException(e.getMessage(), e);
+// }
+// SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, password, getName());
+// return info;
+// }
+//
+// }
+//
+// /**
+// * 进行权限验证的时候,调用方法,将用户的权限信息写进SimpleAuthorizationInfo
+// */
+// @Override
+// public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
+// // 用户名称
+// log.info("进入了权限认证");
+// Object username = principals.getPrimaryPrincipal();
+// SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
+// // 从数据库获取用户权限
+//
+// // 简单例子
+// // Set permission = new HashSet<>();
+// // permission.add("sys:dept:list");
+// // info.setStringPermissions(permission);
+//
+// User user = ShiroUtils.getSysUser();
+// // 角色列表
+// Set roles = new HashSet();
+// // 功能列表
+// Set menus = new HashSet();
+// // 管理员拥有所有权限
+// if (user.isAdmin()) {
+// info.addRole("admin");
+// info.addStringPermission("*:*:*");
+// } else {
+// roles = roleService.selectRoleKeys(user.getUserId());
+// menus = menuService.selectPermsByUserId(user.getUserId());
+// // 角色加入AuthorizationInfo认证对象
+// info.setRoles(roles);
+// // 权限加入AuthorizationInfo认证对象
+// info.setStringPermissions(menus);
+// }
+// return info;
+// }
+//
+// /**
+// * 清理缓存权限
+// */
+// @Override
+// public void clearCachedAuthorizationInfo()
+// {
+// this.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());
+// }
+//}
\ No newline at end of file
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/PasswordService.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/PasswordService.java
index b729ea82..41eed6c0 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/PasswordService.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/PasswordService.java
@@ -7,10 +7,12 @@ import com.zdxt.auth.common.exception.user.UserPasswordRetryLimitExceedException
import com.zdxt.auth.common.utils.MessageUtils;
import com.zdxt.auth.framework.manager.AsyncManager;
import com.zdxt.auth.framework.manager.factory.AsyncFactory;
+import com.zdxt.common.util.Md5Hash;
import com.zdxt.domain.auth.User;
import org.apache.shiro.cache.Cache;
import org.apache.shiro.cache.CacheManager;
-import org.apache.shiro.crypto.hash.Md5Hash;
+//import org.apache.shiro.crypto.hash.Md5Hash;
+import org.apache.shiro.crypto.hash.SimpleHash;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -70,7 +72,9 @@ public class PasswordService {
}
public String encryptPassword(String username, String password, String salt) {
- return new Md5Hash(username + password + salt).toHex().toString();
+
+// return new SimpleHash(username + password + salt).toHex().toString();
+ return new Md5Hash(username + password + salt).toHex();
}
public void unlock(String loginName) {
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/CasFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/CasFilter.java
index 64384552..a0c5bc82 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/CasFilter.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/CasFilter.java
@@ -1,73 +1,73 @@
-package com.zdxt.auth.framework.shiro.web.filter;
-
-import org.apache.shiro.authc.AuthenticationToken;
-import org.apache.shiro.cas.CasToken;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * cas单点登录过滤器
- *
- * @author: QingWang.Li
- * @date: 2020/5/14 9:13
- */
-public class CasFilter extends org.apache.shiro.cas.CasFilter {
- private static Logger logger = LoggerFactory.getLogger(CasFilter.class);
- private static final String TICKET_PARAMETER = "ticket";
-
- public CasFilter() {
- }
-
- @Override
- public AuthenticationToken createToken(ServletRequest request, ServletResponse response) throws Exception {
- // 获取请求的ticket
- HttpServletRequest httpRequest = (HttpServletRequest) request;
- String ticket = getRequestTicket(httpRequest);
- if (StringUtils.isEmpty(ticket)) {
- logger.debug("票证获取失败,票证为空!");
- return null;
- }
- return new CasToken(ticket);
- }
-
- /**
- * 拒绝除了option以外的所有请求
- **/
- @Override
- public boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) {
- if (((HttpServletRequest) request).getMethod().equals(RequestMethod.OPTIONS.name())) {
- return true;
- }
- return false;
- }
-
- @Override
- public boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
- // 获取ticket,如果不存在,直接返回false
- String ticket = getRequestTicket((HttpServletRequest) request);
- if (StringUtils.isEmpty(ticket)) {
- return false;
- }
- return this.executeLogin(request, response);
- }
-
- /**
- * 获取请求的ticket
- */
- private String getRequestTicket(HttpServletRequest httpRequest) {
- // 从参数中获取ticket
- String ticket = httpRequest.getParameter(TICKET_PARAMETER);
- if (StringUtils.isEmpty(ticket)) {
- // 如果为空的话,则从header中获取参数
- ticket = httpRequest.getHeader(TICKET_PARAMETER);
- }
- return ticket;
- }
-
-}
+//package com.zdxt.auth.framework.shiro.web.filter;
+//
+//import org.apache.shiro.authc.AuthenticationToken;
+//import org.apache.shiro.cas.CasToken;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.util.StringUtils;
+//import org.springframework.web.bind.annotation.RequestMethod;
+//
+//import javax.servlet.ServletRequest;
+//import javax.servlet.ServletResponse;
+//import javax.servlet.http.HttpServletRequest;
+//
+///**
+// * cas单点登录过滤器
+// *
+// * @author: QingWang.Li
+// * @date: 2020/5/14 9:13
+// */
+//public class CasFilter extends org.apache.shiro.cas.CasFilter {
+// private static Logger logger = LoggerFactory.getLogger(CasFilter.class);
+// private static final String TICKET_PARAMETER = "ticket";
+//
+// public CasFilter() {
+// }
+//
+// @Override
+// public AuthenticationToken createToken(ServletRequest request, ServletResponse response) throws Exception {
+// // 获取请求的ticket
+// HttpServletRequest httpRequest = (HttpServletRequest) request;
+// String ticket = getRequestTicket(httpRequest);
+// if (StringUtils.isEmpty(ticket)) {
+// logger.debug("票证获取失败,票证为空!");
+// return null;
+// }
+// return new CasToken(ticket);
+// }
+//
+// /**
+// * 拒绝除了option以外的所有请求
+// **/
+// @Override
+// public boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) {
+// if (((HttpServletRequest) request).getMethod().equals(RequestMethod.OPTIONS.name())) {
+// return true;
+// }
+// return false;
+// }
+//
+// @Override
+// public boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
+// // 获取ticket,如果不存在,直接返回false
+// String ticket = getRequestTicket((HttpServletRequest) request);
+// if (StringUtils.isEmpty(ticket)) {
+// return false;
+// }
+// return this.executeLogin(request, response);
+// }
+//
+// /**
+// * 获取请求的ticket
+// */
+// private String getRequestTicket(HttpServletRequest httpRequest) {
+// // 从参数中获取ticket
+// String ticket = httpRequest.getParameter(TICKET_PARAMETER);
+// if (StringUtils.isEmpty(ticket)) {
+// // 如果为空的话,则从header中获取参数
+// ticket = httpRequest.getHeader(TICKET_PARAMETER);
+// }
+// return ticket;
+// }
+//
+//}
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/LogoutFilter.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/LogoutFilter.java
index b38c81b7..bf0d01b4 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/LogoutFilter.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/web/filter/LogoutFilter.java
@@ -1,7 +1,6 @@
package com.zdxt.auth.framework.shiro.web.filter;
import java.io.Serializable;
-import java.net.URLEncoder;
import java.util.Deque;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -24,11 +23,9 @@ import com.zdxt.auth.common.utils.StringUtils;
import com.zdxt.auth.common.utils.security.ShiroUtils;
import com.zdxt.auth.framework.manager.AsyncManager;
import com.zdxt.auth.framework.manager.factory.AsyncFactory;
-import org.slw.sso.client.SsoClient;
-import org.slw.sso.config.SsoConfig;
+
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
+
/**
* 退出过滤器
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java
index 0c8b27c6..18a948f0 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java
@@ -96,6 +96,8 @@ public class LoginController extends BaseController
secretKey = AesHelper.desEncrypt(secretKey);
// UsernamePasswordToken token = new UsernamePasswordToken(username, password, false);
UserToken token = new UserToken(secretName, secretKey, LoginType.PASSWORD);
+ //禁止使用rememberMe
+ token.setRememberMe(false);
Subject subject = SecurityUtils.getSubject();
try {
if ("1".equals(type)) { //APP
@@ -186,6 +188,8 @@ public class LoginController extends BaseController
loginDTO.setSecretKey(AesHelper.desEncrypt(loginDTO.getSecretKey()));
// UsernamePasswordToken token = new UsernamePasswordToken(username, password, false);
UserToken token = new UserToken(loginDTO.getSecretName(), loginDTO.getSecretKey(), LoginType.PASSWORD);
+ //禁止使用rememberMe
+ token.setRememberMe(false);
Subject subject = SecurityUtils.getSubject();
try {
//PC
diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/UserServiceImpl.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/UserServiceImpl.java
index 2b280713..0d3be96f 100644
--- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/UserServiceImpl.java
+++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/UserServiceImpl.java
@@ -30,7 +30,6 @@ import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
-import org.apache.shiro.crypto.hash.Md5Hash;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/ajax/libs/jquery-layout/jquery-ui-latest.js b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/ajax/libs/jquery-layout/jquery-ui-latest.js
index 6dc062e6..9041634a 100644
--- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/ajax/libs/jquery-layout/jquery-ui-latest.js
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/ajax/libs/jquery-layout/jquery-ui-latest.js
@@ -147,7 +147,7 @@ function focusable( element, isTabIndexNotNaN ) {
function visible( element ) {
return $.expr.filters.visible( element ) &&
- !$( element ).parents().andSelf().filter(function() {
+ !$( element ).parents().addBack().filter(function() {
return $.css( this, "visibility" ) === "hidden";
}).length;
}
@@ -6153,7 +6153,7 @@ $.widget("ui.draggable", $.ui.mouse, {
var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false;
$(this.options.handle, this.element)
.find("*")
- .andSelf()
+ .addBack()
.each(function() {
if(this == event.target) handle = true;
});
@@ -6913,7 +6913,7 @@ $.ui.ddmanager = {
var m = $.ui.ddmanager.droppables[t.options.scope] || [];
var type = event ? event.type : null; // workaround for #2317
- var list = (t.currentItem || t.element).find(":data(droppable)").andSelf();
+ var list = (t.currentItem || t.element).find(":data(droppable)").addBack();
droppablesLoop: for (var i = 0; i < m.length; i++) {
@@ -7756,7 +7756,7 @@ $.effects.animateClass = function( value, duration, easing, callback ) {
var animated = $( this ),
baseClass = animated.attr( "class" ) || "",
applyClassChange,
- allAnimations = o.children ? animated.find( "*" ).andSelf() : animated;
+ allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
// map the animated objects to store the original styles.
allAnimations = allAnimations.map(function() {
@@ -9377,7 +9377,7 @@ $.widget( "ui.menu", {
// Destroy (sub)menus
this.element
.removeAttr( "aria-activedescendant" )
- .find( ".ui-menu" ).andSelf()
+ .find( ".ui-menu" ).addBack()
.removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" )
.removeAttr( "role" )
.removeAttr( "tabIndex" )
@@ -10823,7 +10823,7 @@ $.widget("ui.selectable", $.ui.mouse, {
}
});
- $(event.target).parents().andSelf().each(function() {
+ $(event.target).parents().addBack().each(function() {
var selectee = $.data(this, "selectable-item");
if (selectee) {
var doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');
@@ -11217,7 +11217,7 @@ $.widget( "ui.slider", $.ui.mouse, {
.focus();
offset = closestHandle.offset();
- mouseOverHandle = !$( event.target ).parents().andSelf().is( ".ui-slider-handle" );
+ mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
top: event.pageY - offset.top -
@@ -11698,7 +11698,7 @@ $.widget("ui.sortable", $.ui.mouse, {
if(this.options.handle && !overrideHandle) {
var validHandle = false;
- $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == event.target) validHandle = true; });
+ $(this.options.handle, currentItem).find("*").addBack().each(function() { if(this == event.target) validHandle = true; });
if(!validHandle) return false;
}
@@ -14592,7 +14592,7 @@ $.widget( "ui.tooltip", {
});
// remove title attributes to prevent native tooltips
- this.element.find( this.options.items ).andSelf().each(function() {
+ this.element.find( this.options.items ).addBack().each(function() {
var element = $( this );
if ( element.is( "[title]" ) ) {
element
@@ -14604,7 +14604,7 @@ $.widget( "ui.tooltip", {
_enable: function() {
// restore title attributes
- this.element.find( this.options.items ).andSelf().each(function() {
+ this.element.find( this.options.items ).addBack().each(function() {
var element = $( this );
if ( element.data( "ui-tooltip-title" ) ) {
element.attr( "title", element.data( "ui-tooltip-title" ) );
diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/information.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/information.html
index f0b76ea4..69bf01f9 100644
--- a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/information.html
+++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/information.html
@@ -49,7 +49,7 @@
删除
-
diff --git a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelModuleController.java b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelModuleController.java
index 90dca375..e7761ded 100644
--- a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelModuleController.java
+++ b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelModuleController.java
@@ -10,6 +10,8 @@ import com.zdxt.excel.service.IModuleExcelService;
import com.zdxt.excel.upload.util.FileAndStreamUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.TransactionException;
@@ -30,9 +32,8 @@ import java.util.List;
*/
@Controller
@RequestMapping(value="/excel/module")
-@Slf4j
public class ExcelModuleController extends BaseController {
-
+ private static final Logger log = LoggerFactory.getLogger(ExcelModuleController.class);
private String prefix = "excel/module";
public static final Integer FILE_DIRECTORY_BEGIN_INDEX = 0;
diff --git a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelUploadHisController.java b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelUploadHisController.java
index d58eabd6..aa5cee9c 100644
--- a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelUploadHisController.java
+++ b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/controller/ExcelUploadHisController.java
@@ -9,6 +9,8 @@ import com.zdxt.excel.service.IExcelUploadHisService;
import com.zdxt.excel.upload.util.FileAndStreamUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@@ -26,9 +28,9 @@ import java.util.List;
*/
@Controller
@RequestMapping(value="/excel/his")
-@Slf4j
public class ExcelUploadHisController extends BaseController {
+ private static final Logger log = LoggerFactory.getLogger(ExcelUploadHisController.class);
private String prefix = "excel/his";
@Autowired
diff --git a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/AttachmentUpload.java b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/AttachmentUpload.java
index 70143741..077495d4 100644
--- a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/AttachmentUpload.java
+++ b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/AttachmentUpload.java
@@ -3,7 +3,6 @@ package com.zdxt.excel.domain;
import com.zdxt.common.BaseDomain;
import lombok.Data;
-@Data
public class AttachmentUpload extends BaseDomain {
/**
@@ -57,4 +56,83 @@ public class AttachmentUpload extends BaseDomain {
*/
private String downloadUrl;
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getExcelName() {
+ return excelName;
+ }
+
+ public void setExcelName(String excelName) {
+ this.excelName = excelName;
+ }
+
+ public String getExcelObjectName() {
+ return excelObjectName;
+ }
+
+ public void setExcelObjectName(String excelObjectName) {
+ this.excelObjectName = excelObjectName;
+ }
+
+ public String getExcelPath() {
+ return excelPath;
+ }
+
+ public void setExcelPath(String excelPath) {
+ this.excelPath = excelPath;
+ }
+
+ public Long getExcelSize() {
+ return excelSize;
+ }
+
+ public void setExcelSize(Long excelSize) {
+ this.excelSize = excelSize;
+ }
+
+ public String getExcelSuffix() {
+ return excelSuffix;
+ }
+
+ public void setExcelSuffix(String excelSuffix) {
+ this.excelSuffix = excelSuffix;
+ }
+
+ public String getBucketName() {
+ return bucketName;
+ }
+
+ public void setBucketName(String bucketName) {
+ this.bucketName = bucketName;
+ }
+
+ public String getUploadStatus() {
+ return uploadStatus;
+ }
+
+ public void setUploadStatus(String uploadStatus) {
+ this.uploadStatus = uploadStatus;
+ }
+
+ public String getExcelMdName() {
+ return excelMdName;
+ }
+
+ public void setExcelMdName(String excelMdName) {
+ this.excelMdName = excelMdName;
+ }
+
+ public String getDownloadUrl() {
+ return downloadUrl;
+ }
+
+ public void setDownloadUrl(String downloadUrl) {
+ this.downloadUrl = downloadUrl;
+ }
}
diff --git a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelModule.java b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelModule.java
index a0ca4483..defc528a 100644
--- a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelModule.java
+++ b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelModule.java
@@ -2,7 +2,7 @@ package com.zdxt.excel.domain;
import lombok.Data;
-@Data
+//@Data
public class ExcelModule extends AttachmentUpload {
/**
@@ -10,4 +10,11 @@ public class ExcelModule extends AttachmentUpload {
*/
private String moduleType;
+ public String getModuleType() {
+ return moduleType;
+ }
+
+ public void setModuleType(String moduleType) {
+ this.moduleType = moduleType;
+ }
}
diff --git a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelUpload.java b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelUpload.java
index 62eb396f..1a2bf078 100644
--- a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelUpload.java
+++ b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/domain/ExcelUpload.java
@@ -3,7 +3,7 @@ package com.zdxt.excel.domain;
import com.zdxt.common.BaseDomain;
import lombok.Data;
-@Data
+
public class ExcelUpload extends BaseDomain {
/**
@@ -80,4 +80,123 @@ public class ExcelUpload extends BaseDomain {
*/
private String activityType;
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getAttachmentName() {
+ return attachmentName;
+ }
+
+ public void setAttachmentName(String attachmentName) {
+ this.attachmentName = attachmentName;
+ }
+
+ public String getAttachmentObjectName() {
+ return attachmentObjectName;
+ }
+
+ public void setAttachmentObjectName(String attachmentObjectName) {
+ this.attachmentObjectName = attachmentObjectName;
+ }
+
+ public String getAttachmentPath() {
+ return attachmentPath;
+ }
+
+ public void setAttachmentPath(String attachmentPath) {
+ this.attachmentPath = attachmentPath;
+ }
+
+ public Long getAttachmentSize() {
+ return attachmentSize;
+ }
+
+ public void setAttachmentSize(Long attachmentSize) {
+ this.attachmentSize = attachmentSize;
+ }
+
+ public String getAttachmentSuffix() {
+ return attachmentSuffix;
+ }
+
+ public void setAttachmentSuffix(String attachmentSuffix) {
+ this.attachmentSuffix = attachmentSuffix;
+ }
+
+ public String getAttachmentBucketName() {
+ return attachmentBucketName;
+ }
+
+ public void setAttachmentBucketName(String attachmentBucketName) {
+ this.attachmentBucketName = attachmentBucketName;
+ }
+
+ public String getAttachmentUploadStatus() {
+ return attachmentUploadStatus;
+ }
+
+ public void setAttachmentUploadStatus(String attachmentUploadStatus) {
+ this.attachmentUploadStatus = attachmentUploadStatus;
+ }
+
+ public String getAttachmentMdName() {
+ return attachmentMdName;
+ }
+
+ public void setAttachmentMdName(String attachmentMdName) {
+ this.attachmentMdName = attachmentMdName;
+ }
+
+ public String getDownloadUrl() {
+ return downloadUrl;
+ }
+
+ public void setDownloadUrl(String downloadUrl) {
+ this.downloadUrl = downloadUrl;
+ }
+
+ public String getUploadType() {
+ return uploadType;
+ }
+
+ public void setUploadType(String uploadType) {
+ this.uploadType = uploadType;
+ }
+
+ public String getUploadMessage() {
+ return uploadMessage;
+ }
+
+ public void setUploadMessage(String uploadMessage) {
+ this.uploadMessage = uploadMessage;
+ }
+
+ public String getErrorExcelObjName() {
+ return errorExcelObjName;
+ }
+
+ public void setErrorExcelObjName(String errorExcelObjName) {
+ this.errorExcelObjName = errorExcelObjName;
+ }
+
+ public String getErrorExcelPath() {
+ return errorExcelPath;
+ }
+
+ public void setErrorExcelPath(String errorExcelPath) {
+ this.errorExcelPath = errorExcelPath;
+ }
+
+ public String getActivityType() {
+ return activityType;
+ }
+
+ public void setActivityType(String activityType) {
+ this.activityType = activityType;
+ }
}
diff --git a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/test/TestExportService.java b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/test/TestExportService.java
index b40a95de..b0c54133 100644
--- a/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/test/TestExportService.java
+++ b/lib/EmergencyService/zdxtEmergencyExcelService/src/main/java/com/zdxt/excel/test/TestExportService.java
@@ -1,16 +1,19 @@
package com.zdxt.excel.test;
+import com.zdxt.excel.controller.ExcelUploadHisController;
import com.zdxt.excel.domain.ExcelUpload;
import com.zdxt.excel.export.service.IExcelExportDataService;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
-@Slf4j
public class TestExportService implements IExcelExportDataService {
+ private static final Logger log = LoggerFactory.getLogger(TestExportService.class);
@Override
public List getData(ExcelUpload param) {
log.error("test param+++++++++++++++++++++++++"+param.getUploadType());
diff --git a/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/feign/PublicMessageApiImpl.java b/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/feign/PublicMessageApiImpl.java
index 5337b66d..379a659f 100644
--- a/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/feign/PublicMessageApiImpl.java
+++ b/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/feign/PublicMessageApiImpl.java
@@ -125,7 +125,7 @@ public class PublicMessageApiImpl implements PublicMessageApi {
BeanUtil.copyProperties(messageInfoDTO,messageInfo);
tioWsMsgHandler.sendMessage(channelContextByUser.tioConfig,objectMapper,messageInfo,userId);
}catch (Exception e){
- log.error("消息推送失败",e);
+// log.error("消息推送失败",e);
}
return ZDResponse.success("推送成功");
}
diff --git a/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/tio/TioWsMsgHandler.java b/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/tio/TioWsMsgHandler.java
index 87e0cf81..236f2d4f 100644
--- a/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/tio/TioWsMsgHandler.java
+++ b/lib/EmergencyService/zdxtEmergencyMessageService/src/main/java/com/zdxt/message/tio/TioWsMsgHandler.java
@@ -5,7 +5,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.sun.org.apache.bcel.internal.generic.NEW;
+//import com.sun.org.apache.bcel.internal.generic.NEW;
import com.zdxt.auth.dto.UserBean;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.common.util.StringUtils;
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/ThirdLoginController.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/ThirdLoginController.java
index 59a4aa32..1a826df8 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/ThirdLoginController.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/ThirdLoginController.java
@@ -3,6 +3,7 @@ package com.zdxt.code.controller;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWTVerifier;
import com.zdxt.auth.feign.UserApi;
+import com.zdxt.auth.framework.config.CsrfFilter;
import com.zdxt.auth.framework.shiro.jwt.JWTUtils;
import com.zdxt.auth.project.system.user.service.IUserService;
import com.zdxt.code.domain.SiqLogin;
@@ -12,6 +13,8 @@ import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.common.ZDResponse;
import com.zdxt.domain.auth.User;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -23,11 +26,10 @@ import java.util.Map;
/**
* 第三方登录控制层
*/
-@Slf4j
@Controller
@RequestMapping("/thirdLogin")
public class ThirdLoginController {
-
+ private static final Logger log = LoggerFactory.getLogger(ThirdLoginController.class);
@Value("${siq.code}")
private String code;
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java
index 50f01d47..411b8750 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/MssqApiService.java
@@ -16,5 +16,10 @@ public interface MssqApiService {
*/
Boolean addMssqOrder(MssqAddOrder mssqAddOrder) throws Exception;
+ /**
+ * 获取token
+ * @return
+ * @throws Exception
+ */
MssqBaseDomain getMssqToken() throws Exception;
}
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/AccessTokenServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/AccessTokenServiceImpl.java
index 398bede4..ef6fcdb2 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/AccessTokenServiceImpl.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/AccessTokenServiceImpl.java
@@ -5,6 +5,8 @@ import com.zdxt.code.service.IAccessTokenService;
import com.zdxt.code.utils.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.record.DVALRecord;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -15,9 +17,8 @@ import java.util.Map;
* 获取登录令牌接口 包含粤政易,市认证平台
*/
@Service
-@Slf4j
public class AccessTokenServiceImpl implements IAccessTokenService {
-
+ private static final Logger log = LoggerFactory.getLogger(AccessTokenServiceImpl.class);
//粤政易 认证信息
// @Value("${yzy.yzyUr}")
private String YZYUrl;
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java
index 46248b21..980208b2 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java
@@ -25,8 +25,11 @@ import com.zdxt.code.service.IEnterpriseMerchantAuthorizationService;
import com.zdxt.code.service.IQrCodeGenerateHistoryService;
import com.zdxt.code.utils.PasswordTools;
import com.zdxt.code.utils.QRCodeUtil;
+import com.zdxt.code.utils.ServiceInvocation;
import com.zdxt.common.util.DateUtils;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -41,10 +44,10 @@ import org.springframework.web.multipart.MultipartFile;
* @author chenrui
* @date 2024-02-20
*/
-@Slf4j
@Service
-public class EnterpriseInformationServiceImpl implements IEnterpriseInformationService
-{
+public class EnterpriseInformationServiceImpl implements IEnterpriseInformationService {
+ private static final Logger log = LoggerFactory.getLogger(EnterpriseInformationServiceImpl.class);
+
@Autowired
private EnterpriseInformationMapper enterpriseInformationMapper;
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java
index 1077e28c..93393d1b 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/MssqApiServiceImpl.java
@@ -6,16 +6,20 @@ import com.zdxt.code.domain.MssqBaseDomain;
import com.zdxt.code.service.MssqApiService;
import com.zdxt.code.utils.ServiceInvocation;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import static com.zdxt.code.utils.ServiceInvocation.gatewaySignEncode;
import static com.zdxt.code.utils.ServiceInvocation.httpRequest;
-@Slf4j
@Service
public class MssqApiServiceImpl implements MssqApiService {
+
+ private static final Logger log = LoggerFactory.getLogger(MssqApiServiceImpl.class);
+
@Value("${mssq.apiUrl}")
private String mssqUrl;
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
index a1ed200b..8cb27fba 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
@@ -15,6 +15,7 @@ import com.zdxt.code.domain.Zfryjdm2405301;
import com.zdxt.code.mapper.Xzjcjbxx025711Mapper;
import com.zdxt.code.service.IEnterpriseInformationService;
import com.zdxt.code.service.ThirdLoginService;
+import com.zdxt.code.utils.ServiceInvocation;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.util.DateUtils;
@@ -22,6 +23,8 @@ import com.zdxt.common.util.UserConstants;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -32,11 +35,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-@Slf4j
@Service
public class ThirdLoginServiceImpl implements ThirdLoginService {
-
+ private static final Logger log = LoggerFactory.getLogger(ThirdLoginServiceImpl.class);
@Value("${siq.code}")
private String code;
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/Azdg.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/Azdg.java
index b21b35a2..77776510 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/Azdg.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/Azdg.java
@@ -2,6 +2,7 @@ package com.zdxt.code.utils;
import java.io.IOException;
import java.security.MessageDigest;
+import java.util.Base64;
/**
* Azdg加密工具类
@@ -80,16 +81,13 @@ public class Azdg {
}
public String base64_decode(String str) {
- sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
+
+// sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
+
if (str == null)
return null;
- try {
- return new String(decoder.decodeBuffer(str));
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
+ return new String(Base64.getDecoder().decode(str));
+ }
public String key(String txt, String encrypt_key) {
@@ -112,7 +110,8 @@ public class Azdg {
}
public String base64_encode(String str) {
- return new sun.misc.BASE64Encoder().encode(str.getBytes());
+// return new sun.misc.BASE64Encoder().encode(str.getBytes());
+ return null;
}
public static final String strMD5(String s) {
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/HttpUtil.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/HttpUtil.java
index 233839a4..ec2a0bd4 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/HttpUtil.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/HttpUtil.java
@@ -4,6 +4,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.zdxt.auth.dto.DictDataBean;
+import com.zdxt.code.service.impl.MssqApiServiceImpl;
import com.zdxt.common.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.Header;
@@ -28,6 +29,8 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
@@ -45,9 +48,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-@Slf4j
public class HttpUtil {
-
+ private static final Logger log = LoggerFactory.getLogger(HttpUtil.class);
public static String getDictName(List list, String name){
String value = "";
for(DictDataBean bean : list){
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/QRCodeUtil.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/QRCodeUtil.java
index 05135b04..fbced049 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/QRCodeUtil.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/QRCodeUtil.java
@@ -9,9 +9,10 @@ import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.springframework.http.MediaType;
+import org.springframework.util.Base64Utils;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
-import sun.misc.BASE64Encoder;
+//import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.*;
@@ -358,7 +359,7 @@ public class QRCodeUtil {
//输出二维码图片流
try {
ImageIO.write(image, "jpg",outputStream);
- String base =new BASE64Encoder().encode(outputStream.toByteArray());
+ String base = Base64Utils.encodeToString(outputStream.toByteArray());
return base;
} catch (IOException e) {
// TODO Auto-generated catch block
diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java
index b58855dc..fa9f90f5 100644
--- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java
+++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/ServiceInvocation.java
@@ -1,9 +1,12 @@
package com.zdxt.code.utils;
import com.alibaba.fastjson.JSONObject;
+import com.zdxt.code.controller.ThirdLoginController;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.crypto.*;
@@ -21,10 +24,9 @@ import java.security.SecureRandom;
/**
* 民生诉求氢气
*/
-@Slf4j
@Component
public class ServiceInvocation {
-
+ private static final Logger log = LoggerFactory.getLogger(ServiceInvocation.class);
/**
* 密钥生成【核心网关】
*
diff --git a/lib/EmergencyServiceApi/pom.xml b/lib/EmergencyServiceApi/pom.xml
index 902bfb41..28c5b01c 100644
--- a/lib/EmergencyServiceApi/pom.xml
+++ b/lib/EmergencyServiceApi/pom.xml
@@ -8,6 +8,9 @@
EmergencyServiceApi
pom
1.0
+
+
+
EmergencyAuthServiceApi
@@ -39,5 +42,21 @@
1.0.0
-
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/ZdxtComponent/pom.xml b/lib/ZdxtComponent/pom.xml
index edd0dddb..053671fe 100644
--- a/lib/ZdxtComponent/pom.xml
+++ b/lib/ZdxtComponent/pom.xml
@@ -57,4 +57,21 @@
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+
+
+
\ No newline at end of file