Browse Source

REPORT-131067 远程设计密码次数过多抛错异常 优化重复代码

fbp/release
Destiny.Lin 3 months ago
parent
commit
355d63e191
  1. 32
      designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java

32
designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java vendored

@ -46,17 +46,7 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
LoginResponseInfoBean bean;
try {
bean = RemoteAuthorityRepository.getInstance().login(createLoginBean(connectionInfo));
WorkspaceConnection connection = new WorkspaceConnection(
UUID.randomUUID().toString(),
connectionInfo.getUserName(),
HttpConstants.AUTHORIZATION_PREFIX + bean.getAccessToken(),
InetAddress.getLocalHost().getHostAddress());
client.updateConnection(connection);
// 检查远程权限
if (!checkRemoteAuthority(connection)) {
// 无权限则抛出无权限的错
throw new RemoteDesignPermissionDeniedException();
}
checkValidAndUpdateInfo(client, connectionInfo, bean);
} finally {
client.closePool();
}
@ -78,6 +68,18 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
throw new RuntimeException("Empty token, try connect again and check server");
}
FineLoggerFactory.getLogger().info("[connector] infos:{}", bean.getAccessToken());
checkValidAndUpdateInfo(client, connectionInfo, bean);
client.startHeartBeat();
} catch (Exception e) {
client.closePool();
throw e;
}
CompatibleRegister.registerCompatibleEnv();
RepositoryManager.getInstance().clearLastPool();
return client;
}
private void checkValidAndUpdateInfo(FineWorkspaceHttpClient client, WorkspaceConnectionInfo connectionInfo, LoginResponseInfoBean bean) throws Exception {
WorkspaceConnection connection = new WorkspaceConnection(
UUID.randomUUID().toString(),
connectionInfo.getUserName(),
@ -89,14 +91,6 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
// 无权限则抛出无权限的错
throw new RemoteDesignPermissionDeniedException();
}
client.startHeartBeat();
} catch (Exception e) {
client.closePool();
throw e;
}
CompatibleRegister.registerCompatibleEnv();
RepositoryManager.getInstance().clearLastPool();
return client;
}
private boolean checkRemoteAuthority(WorkspaceConnection connection) {

Loading…
Cancel
Save