промежуточный.безопасность на стороне сервера. Утром доделаю на стороне клиента
This commit is contained in:
3
.idea/workspace.xml
generated
3
.idea/workspace.xml
generated
@@ -8,8 +8,11 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Component/Visualiser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/RepositoryServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ComponentsServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerRequestUnit.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/SafeServerExchangeUnit.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
||||
@@ -3,6 +3,7 @@ import Common.Utils.Vector_;
|
||||
|
||||
import java.util.Vector;
|
||||
public class Constants {
|
||||
public static final int version = 1165;
|
||||
public static final int planner_version = 6;
|
||||
public static final int testingMaxKernels = 64; //вообще говоря, это параметр машины.
|
||||
//--
|
||||
|
||||
@@ -3,7 +3,7 @@ import Common.Utils.Utils_;
|
||||
import _VisualDVM.Constants;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
import _VisualDVM.Repository.Server.ServerRequestUnit;
|
||||
import _VisualDVM.Repository.Server.SaveServerExchangeUnit;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -63,7 +63,7 @@ public class Visualiser extends Component {
|
||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||
@Override
|
||||
public void GetVersionInfo() {
|
||||
version = ServerRequestUnit.version;
|
||||
version = SaveServerExchangeUnit.version;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -2,11 +2,13 @@ package _VisualDVM.Repository;
|
||||
import Common.Database.Database;
|
||||
import Common.Database.Objects.DBObject;
|
||||
import Common.Database.Objects.riDBObject;
|
||||
import Common.Database.RepositoryRefuseException;
|
||||
import Common.Utils.InterruptThread;
|
||||
import Common.Utils.Utils_;
|
||||
import _VisualDVM.Constants;
|
||||
import _VisualDVM.Passes.Server.RepositoryPass;
|
||||
import _VisualDVM.Repository.Server.DiagnosticSignalHandler;
|
||||
import _VisualDVM.Repository.Server.SafeServerExchangeUnit;
|
||||
import _VisualDVM.Repository.Server.ServerCode;
|
||||
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
|
||||
import _VisualDVM.Utils;
|
||||
@@ -81,7 +83,8 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
}
|
||||
//-DVMTestingChecker
|
||||
public abstract int getPort();
|
||||
protected abstract void SafeSession() throws Exception;
|
||||
protected void Session() throws Exception {};
|
||||
protected void UnsafeSession() throws Exception {}
|
||||
protected void startAdditionalThreads() {
|
||||
}
|
||||
public void ActivateDB() {
|
||||
@@ -181,50 +184,67 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
Print("Ожидание команды от клиента...");
|
||||
Object transport = in.readObject();
|
||||
Print("Команда прочитана.");
|
||||
//-->
|
||||
if (transport instanceof ServerExchangeUnit_2021) {
|
||||
request = (ServerExchangeUnit_2021) transport;
|
||||
response = null;
|
||||
Print("клиент_2021: <- " + (request.codeName));
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
Print("клиент: <- " + (request.codeName));
|
||||
//--
|
||||
try {
|
||||
code = request.getCode();
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
switch (code) {
|
||||
case Ping:
|
||||
Ping();
|
||||
break;
|
||||
case ReceiveFile:
|
||||
ReceiveFile();
|
||||
break;
|
||||
case Email:
|
||||
Email();
|
||||
break;
|
||||
case EditObject:
|
||||
EditObject();
|
||||
break;
|
||||
case GetObjectCopyByPK:
|
||||
GetObjectCopyByPK();
|
||||
break;
|
||||
case GetObjectsCopiesByPK:
|
||||
GetObjectsCopiesByPK();
|
||||
break;
|
||||
case PublishObject:
|
||||
PublishObject();
|
||||
break;
|
||||
case PublishObjects:
|
||||
PublishObjects();
|
||||
break;
|
||||
case DeleteObjectByPK:
|
||||
DeleteObjectByPK();
|
||||
break;
|
||||
case DeleteObjectsByPK:
|
||||
DeleteObjectsByPK();
|
||||
break;
|
||||
case CloneObjectByPK:
|
||||
CloneObject();
|
||||
break;
|
||||
default:
|
||||
SafeSession();
|
||||
break;
|
||||
//--
|
||||
if (transport instanceof SafeServerExchangeUnit){
|
||||
SafeServerExchangeUnit safe_request= (SafeServerExchangeUnit) transport;
|
||||
if (safe_request.version!=Constants.version){
|
||||
//версия не совпала. не даем работать.
|
||||
throw new RepositoryRefuseException("Версия клиента не совпадает с версией сервера!");
|
||||
}
|
||||
//БЕЗОПАСНАЯ СЕССИЯ
|
||||
switch (code) {
|
||||
case EditObject:
|
||||
EditObject();
|
||||
break;
|
||||
case GetObjectCopyByPK:
|
||||
GetObjectCopyByPK();
|
||||
break;
|
||||
case GetObjectsCopiesByPK:
|
||||
GetObjectsCopiesByPK();
|
||||
break;
|
||||
case PublishObject:
|
||||
PublishObject();
|
||||
break;
|
||||
case PublishObjects:
|
||||
PublishObjects();
|
||||
break;
|
||||
case DeleteObjectByPK:
|
||||
DeleteObjectByPK();
|
||||
break;
|
||||
case DeleteObjectsByPK:
|
||||
DeleteObjectsByPK();
|
||||
break;
|
||||
case CloneObjectByPK:
|
||||
CloneObject();
|
||||
break;
|
||||
default:
|
||||
Session();
|
||||
break;
|
||||
}
|
||||
}else {
|
||||
//ОПАСНАЯ СЕССИЯ
|
||||
switch (code){
|
||||
case Ping:
|
||||
Ping();
|
||||
break;
|
||||
case ReceiveFile:
|
||||
ReceiveFile();
|
||||
break;
|
||||
case Email:
|
||||
Email();
|
||||
break;
|
||||
default:
|
||||
UnsafeSession();
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.FAIL, "Исключение сервера", ex);
|
||||
|
||||
@@ -330,9 +330,8 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
protected void SafeSession() throws Exception {
|
||||
protected void UnsafeSession() throws Exception {
|
||||
switch (code) {
|
||||
// ПРОХОДЫ НЕЗАВИСИМЫЕ ОТ ВЕРСИИ
|
||||
case CheckSubscriberRole:
|
||||
CheckSubscriberRole();
|
||||
break;
|
||||
@@ -340,6 +339,7 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
||||
GetComponentsBackUps();
|
||||
break;
|
||||
case UpdateComponent:
|
||||
//возможно со стороны админа ввод подтверждения по почте запрашивать.
|
||||
PublishComponent();
|
||||
break;
|
||||
case ReceiveComponent:
|
||||
@@ -354,7 +354,13 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
||||
case GetComponentChangesLog:
|
||||
GetComponentChangesLog();
|
||||
break;
|
||||
//------------------------------------------------------------------------>>>>
|
||||
default:
|
||||
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void Session() throws Exception {
|
||||
switch (code) {
|
||||
case ReceiveAllArchives:
|
||||
ReceiveAllArchives();
|
||||
break;
|
||||
|
||||
19
src/_VisualDVM/Repository/Server/SafeServerExchangeUnit.java
Normal file
19
src/_VisualDVM/Repository/Server/SafeServerExchangeUnit.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package _VisualDVM.Repository.Server;
|
||||
import _VisualDVM.Constants;
|
||||
|
||||
import java.io.Serializable;
|
||||
public class SafeServerExchangeUnit extends ServerExchangeUnit_2021 {
|
||||
public int version;
|
||||
public SafeServerExchangeUnit(ServerCode code_in, String arg_in, Serializable object_in) {
|
||||
super(code_in, arg_in, object_in);
|
||||
version = Constants.version;
|
||||
}
|
||||
public SafeServerExchangeUnit(ServerCode code_in, String arg_in) {
|
||||
super(code_in, arg_in);
|
||||
version = Constants.version;
|
||||
}
|
||||
public SafeServerExchangeUnit(ServerCode code_in) {
|
||||
super(code_in);
|
||||
version = Constants.version;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package _VisualDVM.Repository.Server;
|
||||
import java.io.Serializable;
|
||||
public class ServerRequestUnit {
|
||||
public static final int version = 1165;
|
||||
//--------------------------------------------
|
||||
public String codeName;
|
||||
public String arg;
|
||||
public Serializable object;
|
||||
//--------------------------------------------
|
||||
|
||||
}
|
||||
@@ -762,7 +762,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
protected void SafeSession() throws Exception {
|
||||
protected void Session() throws Exception {
|
||||
switch (code) {
|
||||
case PerformAutoSapforTesting:
|
||||
PerformAutoSapforTesting();
|
||||
|
||||
Reference in New Issue
Block a user