|
@@ -29,6 +29,7 @@ import org.springframework.web.client.RestTemplate; |
|
@@ -29,6 +29,7 @@ import org.springframework.web.client.RestTemplate; |
29
|
|
29
|
|
30
|
import javax.annotation.Resource;
|
30
|
import javax.annotation.Resource;
|
31
|
import javax.imageio.ImageIO;
|
31
|
import javax.imageio.ImageIO;
|
|
|
32
|
+import javax.servlet.http.HttpServletRequest;
|
32
|
|
33
|
|
33
|
import java.awt.image.BufferedImage;
|
34
|
import java.awt.image.BufferedImage;
|
34
|
import java.io.ByteArrayOutputStream;
|
35
|
import java.io.ByteArrayOutputStream;
|
|
@@ -167,11 +168,13 @@ public class AnonymousController { |
|
@@ -167,11 +168,13 @@ public class AnonymousController { |
167
|
*/
|
168
|
*/
|
168
|
ResponseEntity<String> responseEntity = restTemplate.getForEntity(url, String.class);
|
169
|
ResponseEntity<String> responseEntity = restTemplate.getForEntity(url, String.class);
|
169
|
String responseBody = responseEntity.getBody();
|
170
|
String responseBody = responseEntity.getBody();
|
|
|
171
|
+ log.info("[SSO-RESPONSE]-[{}]",responseBody);
|
170
|
|
172
|
|
171
|
try {
|
173
|
try {
|
172
|
JSONObject jsonObject = JSONObject.parseObject(responseBody);
|
174
|
JSONObject jsonObject = JSONObject.parseObject(responseBody);
|
173
|
USERS user = parseSSOObject(jsonObject);
|
175
|
USERS user = parseSSOObject(jsonObject);
|
174
|
if (StringUtils.isNotEmpty(user.getUsername())){
|
176
|
if (StringUtils.isNotEmpty(user.getUsername())){
|
|
|
177
|
+ log.info("[SSO-USER]-获取到sso用户名-[{}]",user.getUsername());
|
175
|
USERS loginUser = userService.loadByUsername(user.getUsername());
|
178
|
USERS loginUser = userService.loadByUsername(user.getUsername());
|
176
|
if (loginUser!=null && loginUser.getUserId()>-1){
|
179
|
if (loginUser!=null && loginUser.getUserId()>-1){
|
177
|
log.info("[SSO-AUTH-TICKET]-从认证中心获取到用户[{}]信息,开始设置系统登录认证token",user.getUsername());
|
180
|
log.info("[SSO-AUTH-TICKET]-从认证中心获取到用户[{}]信息,开始设置系统登录认证token",user.getUsername());
|
|
@@ -186,11 +189,11 @@ public class AnonymousController { |
|
@@ -186,11 +189,11 @@ public class AnonymousController { |
186
|
user.setUserStatus(loginUser.getUserStatus());
|
189
|
user.setUserStatus(loginUser.getUserStatus());
|
187
|
user.setState(loginUser.getState());
|
190
|
user.setState(loginUser.getState());
|
188
|
}else {
|
191
|
}else {
|
189
|
- assert loginUser != null;
|
|
|
190
|
- user.setPassword(loginUser.getPassword());
|
192
|
+ log.info("[SSO-INSERT]-用户不存在,新增SSO用户");
|
|
|
193
|
+ user.setPassword("initSSO");
|
191
|
user.setUserStatus(2);
|
194
|
user.setUserStatus(2);
|
192
|
user.setState(true);
|
195
|
user.setState(true);
|
193
|
- userService.insertSelective(user);
|
196
|
+ Integer userId = userService.insertSelective(user);
|
194
|
}
|
197
|
}
|
195
|
//设置用户的TOKEN的有效时间,时间配置在配置文件中设置
|
198
|
//设置用户的TOKEN的有效时间,时间配置在配置文件中设置
|
196
|
int expirationSeconds = 3600*24*7;
|
199
|
int expirationSeconds = 3600*24*7;
|
|
@@ -206,11 +209,13 @@ public class AnonymousController { |
|
@@ -206,11 +209,13 @@ public class AnonymousController { |
206
|
} catch (JSONException e) {
|
209
|
} catch (JSONException e) {
|
207
|
e.printStackTrace();
|
210
|
e.printStackTrace();
|
208
|
log.error("[SSO-AUTH-TICKET-ERR]-单点登录票据解析异常",e);
|
211
|
log.error("[SSO-AUTH-TICKET-ERR]-单点登录票据解析异常",e);
|
|
|
212
|
+ log.info("[SSO-AUTH-TICKET-ERR]-单点登录票据解析异常",e);
|
209
|
return new ResultJson("400","单点登录票据解析异常",e.getMessage());
|
213
|
return new ResultJson("400","单点登录票据解析异常",e.getMessage());
|
210
|
}
|
214
|
}
|
211
|
}catch (Exception e){
|
215
|
}catch (Exception e){
|
212
|
e.printStackTrace();
|
216
|
e.printStackTrace();
|
213
|
log.error("[SSO-AUTH-TICKET-ERR]-单点登录票据认证异常",e);
|
217
|
log.error("[SSO-AUTH-TICKET-ERR]-单点登录票据认证异常",e);
|
|
|
218
|
+ log.info("[SSO-AUTH-TICKET-ERR]-单点登录票据认证异常",e);
|
214
|
}
|
219
|
}
|
215
|
return new ResultJson("401","单点登录票据认证失败");
|
220
|
return new ResultJson("401","单点登录票据认证失败");
|
216
|
}
|
221
|
}
|
|
@@ -237,26 +242,32 @@ public class AnonymousController { |
|
@@ -237,26 +242,32 @@ public class AnonymousController { |
237
|
String loginName = attributes.getString(LOGIN_NAME);
|
242
|
String loginName = attributes.getString(LOGIN_NAME);
|
238
|
String userId = attributes.getString(USER_ID);
|
243
|
String userId = attributes.getString(USER_ID);
|
239
|
String realName = attributes.getString("USER_NAME");
|
244
|
String realName = attributes.getString("USER_NAME");
|
240
|
- String password = attributes.getString("PWD");
|
|
|
241
|
- log.info("[SSO-AUTH-TICKET-INFO]-用户:{}/{}",loginName,realName);
|
|
|
242
|
-
|
245
|
+// String password = attributes.getString("PWD");
|
243
|
user.setUsername(loginName);
|
246
|
user.setUsername(loginName);
|
244
|
- user.setPassword(password);
|
247
|
+// user.setPassword(password);
|
|
|
248
|
+ log.info("[SSO-AUTH-TICKET-INFO]-用户:{}/{}/{}",loginName,realName);
|
245
|
// user.setUserId(userId);
|
249
|
// user.setUserId(userId);
|
246
|
}
|
250
|
}
|
247
|
}
|
251
|
}
|
248
|
return user;
|
252
|
return user;
|
249
|
}
|
253
|
}
|
250
|
|
254
|
|
|
|
255
|
+ @PostMapping(value = "/ssoUserSynchronization")
|
|
|
256
|
+ @ResponseBody
|
|
|
257
|
+ public ResultMessage ssoUserSynchronization(@RequestBody String jsonString, @RequestHeader Map<String,String> headers, HttpServletRequest request) throws Exception{
|
|
|
258
|
+ log.info("[SSO-USER-SYNCHRONIZATION]-userJson:[{}],headers:[{}]",jsonString,headers);
|
|
|
259
|
+ return new ResultMessage(200,"资源同步测试成功");
|
|
|
260
|
+ }
|
|
|
261
|
+
|
251
|
/**
|
262
|
/**
|
252
|
* 资源同步
|
263
|
* 资源同步
|
253
|
* @param map
|
264
|
* @param map
|
254
|
* @return
|
265
|
* @return
|
255
|
- * @throws Exception
|
|
|
256
|
*/
|
266
|
*/
|
257
|
@PostMapping(value = "/userSynchronization")
|
267
|
@PostMapping(value = "/userSynchronization")
|
258
|
@ResponseBody
|
268
|
@ResponseBody
|
259
|
public ResultMessage userSynchronization(@RequestBody Map<String, Object> map){
|
269
|
public ResultMessage userSynchronization(@RequestBody Map<String, Object> map){
|
|
|
270
|
+ log.info("[SSO-资源同步]-参数打印:\n{}",map.toString());
|
260
|
//获取action的值,判断是push数据还是删除数据
|
271
|
//获取action的值,判断是push数据还是删除数据
|
261
|
String action = map.get("action").toString();
|
272
|
String action = map.get("action").toString();
|
262
|
if ("user".equals(map.get("resType").toString())){
|
273
|
if ("user".equals(map.get("resType").toString())){
|
|
@@ -277,15 +288,22 @@ public class AnonymousController { |
|
@@ -277,15 +288,22 @@ public class AnonymousController { |
277
|
users.setCompanyId(73);
|
288
|
users.setCompanyId(73);
|
278
|
users.setUpdatetime(new Date());
|
289
|
users.setUpdatetime(new Date());
|
279
|
if (StringUtils.isEmpty(users.getUsername())){
|
290
|
if (StringUtils.isEmpty(users.getUsername())){
|
280
|
- return new ResultMessage("402","缺少lognin_name字段信息");
|
291
|
+ log.info("[资源同步]-缺少lognin_name字段信息");
|
|
|
292
|
+ return new ResultMessage(400,"缺少lognin_name字段信息");
|
281
|
}
|
293
|
}
|
282
|
if ("push".equals(action)) {
|
294
|
if ("push".equals(action)) {
|
283
|
if (loginUser != null){
|
295
|
if (loginUser != null){
|
284
|
log.info("通过账号为条件更新");
|
296
|
log.info("通过账号为条件更新");
|
|
|
297
|
+ if ("-1000".equals(userData.getJOB_STATUS())){
|
|
|
298
|
+ users.setState(false);
|
|
|
299
|
+ }else {
|
|
|
300
|
+ users.setState(true);
|
|
|
301
|
+ }
|
285
|
i = userService.updateByUsernameSelective(users);
|
302
|
i = userService.updateByUsernameSelective(users);
|
286
|
}else {
|
303
|
}else {
|
287
|
if ( StringUtils.isEmpty(users.getPassword())){
|
304
|
if ( StringUtils.isEmpty(users.getPassword())){
|
288
|
- return new ResultMessage("402","缺少pwd字段信息");
|
305
|
+ log.info("[资源同步]-缺少pwd字段信息");
|
|
|
306
|
+ return new ResultMessage(400,"缺少pwd字段信息");
|
289
|
}
|
307
|
}
|
290
|
users.setCreattime(new Date());
|
308
|
users.setCreattime(new Date());
|
291
|
log.info("账号统一认证用户信息不存在可以 [新增]");
|
309
|
log.info("账号统一认证用户信息不存在可以 [新增]");
|
|
@@ -297,13 +315,13 @@ public class AnonymousController { |
|
@@ -297,13 +315,13 @@ public class AnonymousController { |
297
|
i= userId;
|
315
|
i= userId;
|
298
|
}
|
316
|
}
|
299
|
}else if ("recycle".equals(action)){
|
317
|
}else if ("recycle".equals(action)){
|
300
|
- userService.deleteByUsername(users.getUsername());
|
318
|
+ log.info("[资源同步]-接收到用户撤销指令,开始删除用户:{},userid:{}",users.getUsername(),userData.getUSER_ID());
|
|
|
319
|
+ i= userService.deleteByUsername(users.getUsername());
|
301
|
}
|
320
|
}
|
302
|
-
|
|
|
303
|
}
|
321
|
}
|
304
|
|
322
|
|
305
|
- return i > 0 ? new ResultMessage("200","资源同步成功"):new ResultMessage("202", "资源同步失败");
|
323
|
+ return i > 0 ? new ResultMessage(200,"资源同步成功"):new ResultMessage(200, "资源同步失败");
|
306
|
}
|
324
|
}
|
307
|
- return new ResultMessage("201","不是用户信息");
|
325
|
+ return new ResultMessage(200,"不是用户信息");
|
308
|
}
|
326
|
}
|
309
|
} |
327
|
} |