Was hat Sie zu dieser Wunschlistenanfrage inspiriert?
Beim Zugriff auf Dateien über das Internet ist es möglich, clientseitige Probleme zu bewerten, z. B. Code 403, was bedeutet, dass der zugreifende Benutzer keine Berechtigungen zum Zugriff auf die Datei hat. Die "Lösung" dafür besteht darin, ein Webfenster in JMP zu öffnen und den Benutzer zu authentifizieren.Das hat mich zum Nachdenken gebracht... Ich könnte Wait() verwenden und eine beliebige Wartezeit eingeben, damit Benutzer sich authentifizieren können, bevor der Rest des Codes abgeschlossen ist. Eine benutzerdefinierte Funktion könnte verwendet werden, um ständig in bestimmten Zeitintervallen zu prüfen (z Benutzer hat sich selbst authentifiziert und überprüft dann mit der if-Schleife, die << Has Client Error enthält, ODER JMP könnte eine neue Funktion Wait Until( ) implementieren, sodass die Ausführung von zusätzlichem Code nicht erfolgt, bis dieses Triggerereignis erfüllt ist .
Welche Verbesserung wünschen Sie sich?
Beispiel
Names default to here(1);
auth_test_request = New HTTP Request( URL( some_URL_file_location ), Method( "GET" ) );
test = auth_test_request << Send;
if( auth_test_request << Has Client Error,
// CAN TAKE SECONDS TO FULLY LOAD - Creates new window and loads login page for authentication
webwindow = New window( "Login",
Button Box( "Close when logged ", Wait Until( webwindow << close window ); ),
wb = Web Browser Box()
);
wb << Navigate( authentication_page );
wb << Set Auto Stretching( 1, 1 );
wb << Set Max Size( 800, 1000 );
);
Warum ist diese Idee wichtig?
Ermöglicht eine weitere Anpassung der Codeausführung
Können Sie weitere Informationen bereitstellen? Ich denke, Sie verwenden Windows und eine Version vor JMP 17?
Wenn ja, dann verwendete die Webbrowser-Box vor JMP 17 den Internet Explorer als Websteuerung. Microsoft hat den Support für IE eingestellt.
In JMP 17 (und höher) verwendet JMP Microsoft Edge. Das bedeutet, dass Edge im Wesentlichen als ein anderer Prozess ausgeführt wird und JMP nicht erkennen kann, wer sich angemeldet hat (in Ihrem Fall) und die Authentifizierung nicht auf den beiden separaten Verbindungen teilen kann.
Abgesehen davon denke ich, dass Ihre Anwendung eine formularbasierte Authentifizierung durchführt (korrigieren Sie mich, wenn ich falsch liege) und Sie sich mit einer HTTP-Anfrage mithilfe eines „PUT“ und der Formularinformationen anmelden können. Wenn Ihre Authentifizierung die OAuth2-Authentifizierung verwendet, ist diese mithilfe von HTTPRequest und New OAuth2 in JSL integriert. Beispiele finden Sie im Skriptindex.
Wenn Sie mir weitere Informationen zukommen lassen möchten, können Sie sich jederzeit an mich wenden.