From 7e2c3880ecca25e9a007806525f8ad5baf9aebb4 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 26 四月 2023 00:30:47 +0800
Subject: [PATCH] 物业系统支持单点登录功能
---
service-api/src/main/java/com/java110/api/controller/app/AppController.java | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/controller/app/AppController.java b/service-api/src/main/java/com/java110/api/controller/app/AppController.java
index 8b7e034..9907064 100644
--- a/service-api/src/main/java/com/java110/api/controller/app/AppController.java
+++ b/service-api/src/main/java/com/java110/api/controller/app/AppController.java
@@ -94,6 +94,8 @@
IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
responseEntity = apiSMOImpl.doApi(postInfo, headers,request);
+ //todo 鍐欏叆 token
+ wirteToken(request,pd,service,responseEntity);
} catch (Throwable e) {
logger.error("璇锋眰post 鏂规硶[" + service + "]澶辫触锛�" + postInfo, e);
responseEntity = ResultVo.error("璇锋眰鍙戠敓寮傚父锛�" + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
@@ -101,6 +103,40 @@
logger.debug("api锛歿} 杩斿洖淇℃伅涓猴細{}", service, responseEntity);
return responseEntity;
+ }
+
+ /**
+ * 鍐欏叆 token
+ * @param request
+ * @param pd
+ * @param service
+ * @param responseEntity
+ */
+ private void wirteToken(HttpServletRequest request, IPageData pd, String service, ResponseEntity<String> responseEntity) {
+ String[] services = new String[]{
+ "login.accessTokenLogin"
+ };
+
+ if(responseEntity.getStatusCode() != HttpStatus.OK){
+ return;
+ }
+ boolean flag = false;
+ for(String tmpService : services){
+ if(tmpService.equals(service)){
+ flag =true;
+ }
+ }
+
+ if(!flag){
+ return;
+ }
+
+ JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+ if(!"0".equals(paramOut.getString("code"))){
+ return;
+ }
+ String token = paramOut.getJSONObject("data").getString("token");
+ pd.setToken(token);
}
/**
@@ -203,7 +239,7 @@
IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + resource + "/" + action);
responseEntity = apiSMOImpl.doApi(postInfo, headers, request);
- //responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
+
} catch (Throwable e) {
logger.error("璇锋眰post 鏂规硶[" + action + "]澶辫触锛�" + postInfo, e);
responseEntity = ResultVo.error("璇锋眰鍙戠敓寮傚父锛�" + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
--
Gitblit v1.8.0