📄 testauthentication.cpp
字号:
else { cout << "ToMachineVersion = " << result->result << endl; if (result->result >= "3.0.0") { // List its authenticators service = "SERVICE"; request = "LIST AUTHENTICATORS"; result = handlePtr->submit(toMachine, service, request); if (result->rc != 0) { cout << endl << "STAF " << toMachine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "ToMachineAuthenticators:" << endl << endl << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } } } // List all trusts for To Machine. service = "TRUST"; request = "LIST"; result = handlePtr->submit(toMachine, service, request); if (result->rc != 0) { cout << endl << "STAF " << toMachine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "ToMachineTrusts:" << endl << endl << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } } // Part 1: Authenticate the handle with a valid userid/password with // trust level 5. Verify can access all internal services. cout << endl << "Part 1: Authenticate the handle with a valid userid/password with" << endl << " trust level 5. Verify can access all internal services" << endl; service = "HANDLE"; request = "AUTHENTICATE USER " + userId + " CREDENTIALS " + pw; if (authenticator.length() > 0) request += " AUTHENTICATOR " + authenticator; submitRequest(handlePtr, local, service, request, false); service = "HANDLE"; request = "LIST HANDLES NAME " + handleName; submitRequest(handlePtr, local, service, request, true); service = "VAR"; request = "RESOLVE STRING {STAF/Handle/User}"; submitRequest(handlePtr, local, service, request, true); service = "MISC"; request = "WHOAMI"; submitRequest(handlePtr, local, service, request, true); service = "MISC"; request = "WHOAMI"; submitRequest(handlePtr, machine, service, request, true); service = "DELAY"; request = "DELAY 1000"; submitRequest(handlePtr, machine, service, request, false); service = "PROCESS"; request = "START SHELL COMMAND :13:java -version WAIT"; submitRequest(handlePtr, machine, service, request, false); service = "FS"; request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx"; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs"; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); service = "LOG"; request = "SET NORESOLVEMESSAGE"; // Requires trust level 5 submitRequest(handlePtr, machine, service, request, true); // Part 2: Authenticate the handle with a different userid cout << endl << "Part2: Authenticate the handle with a different userid/pw" << endl; userId = "User2"; pw = "Password2"; service = "HANDLE"; request = "AUTHENTICATE USER " + userId + " CREDENTIALS " + pw; if (authenticator.length() > 0) request += " AUTHENTICATOR " + authenticator; cout << endl << "Try to re-authenticate an already authenticated handle" << endl; result = handlePtr->submit(local, service, request); if (result->rc == kSTAFHandleAlreadyAuthenticated) { cout << endl << "Re-authentication of the handle failed as expected" << endl; } else { cout << endl << "ERROR: Re-authentication of the already " << "authenticated handle worked " << endl; } cout << endl << "Un-authenticate the handle" << endl; request = "UNAUTHENTICATE"; submitRequest(handlePtr, local, service, request, false); request = "AUTHENTICATE USER " + userId + " CREDENTIALS " + pw; if (authenticator.length() > 0) request += " AUTHENTICATOR " + authenticator; submitRequest(handlePtr, local, service, request, false); service = "HANDLE"; request = "LIST HANDLES NAME " + handleName; submitRequest(handlePtr, local, service, request, true); service = "VAR"; request = "RESOLVE STRING {STAF/Handle/User}"; submitRequest(handlePtr, local, service, request, true); service = "DELAY"; request = "DELAY 1000"; submitRequest(handlePtr, machine, service, request, false); service = "PROCESS"; request = "START SHELL COMMAND :13:java -version WAIT"; submitRequest(handlePtr, machine, service, request, false); service = "FS"; request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx"; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs"; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); // Part 3: Try to authenticate the handle with a userid and wrong password cout << endl << "Part3: Authenticate the handle with a userid and wrong password" << endl; cout << endl << "Un-authenticate the handle" << endl; service = "HANDLE"; request = "UNAUTHENTICATE"; submitRequest(handlePtr, local, service, request, false); userId = "User2"; pw = "PasswordXYZ"; service = "HANDLE"; request = "AUTHENTICATE USER " + userId + " CREDENTIALS " + pw; if (authenticator.length() > 0) request += " AUTHENTICATOR " + authenticator; submitRequest(handlePtr, local, service, request, false); service = "HANDLE"; request = "LIST HANDLES NAME " + handleName; submitRequest(handlePtr, local, service, request, true); service = "VAR"; request = "RESOLVE STRING {STAF/Handle/User}"; submitRequest(handlePtr, local, service, request, true); service = "DELAY"; request = "DELAY 1000"; submitRequest(handlePtr, machine, service, request, false); service = "FS"; request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx"; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs"; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); // Part 4: Authenticate the handle with a userid that has trust level 0 cout << endl << "Part4: Authenticate the handle with a userid that has trust level 0" << endl; cout << endl << "Un-authenticate the handle" << endl; service = "HANDLE"; request = "UNAUTHENTICATE"; submitRequest(handlePtr, local, service, request, false); userId = "User5"; pw = "Password5"; service = "HANDLE"; request = "AUTHENTICATE USER " + userId + " CREDENTIALS " + pw; if (authenticator.length() > 0) request += " AUTHENTICATOR " + authenticator; submitRequest(handlePtr, local, service, request, false); service = "HANDLE"; request = "LIST HANDLES NAME " + handleName; submitRequest(handlePtr, local, service, request, true); service = "VAR"; request = "RESOLVE STRING {STAF/Handle/User}"; submitRequest(handlePtr, local, service, request, true); service = "DELAY"; request = "DELAY 1000"; submitRequest(handlePtr, machine, service, request, false); service = "FS"; request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx"; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs"; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + toMachine; submitRequest(handlePtr, machine, service, request, false); request = "COPY FILE {STAF/Config/ConfigFile} TOFILE C:/test.xxx TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); request = "COPY DIRECTORY {STAF/Config/STAFRoot}/docs TODIRECTORY C:/temp/docs TOMACHINE " + machine; submitRequest(handlePtr, local, service, request, false); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -