• UNIGUI:How to redirect and close session?


    Hello,

    i would have 2 unigui app.

    the first app is a simple authentification app and second will be the main app.

    I'd like to have the following scenario.

    user "paul" arrive on the auth app

    paul set his login and password.

    the auth app redirect paul  to an other server with some parameters( sended with post method) and session on auth app will close.

    the main app read "post parameters" and begin a user session. on close or on timeout in the main app the user will be redirect to the auth app.

    To sum up,

    how can i do a redirect with parameters (post method) and close current session ?

    • 0

    #2 Delphi Developer

    Advanced Member

    • Moderators
    • 726 posts

    Posted 04 September 2015 - 05:43 AM

    delagoutte, on 03 Sept 2015 - 11:47 PM, said:

    the auth app redirect paul  to an other server with some parameters( sended with post method) and session on auth app will close.

    the main app read "post parameters" and begin a user session. on close or on timeout in the main app the user will be redirect to the auth app.

    To sum up,

    how can i do a redirect with parameters (post method) and close current session ?

    Hi,
    I think there are several ways to redirect to another server with some parameters from the first app, for example, one of these:

    first app:

    procedure TMainForm.UniButton1Click(Sender: TObject);
    begin
      UniSession.AddJS(
        'var f = document.createElement("form"); '+
        'f.action="http://localhost:8079"; '+ // the second app url
        'f.method="POST"; '+
    
        'var i=document.createElement("input"); '+ // username
        'i.type="hidden"; '+
        'i.name="username"; '+
        'i.value="login"; '+
        'f.appendChild(i); '+
    
        'var i2=document.createElement("input"); '+ // password
        'i2.type="hidden"; '+
        'i2.name="password"; '+
        'i2.value="pwd"; '+
        'f.appendChild(i2); '+
    
        'document.body.appendChild(f); '+
        'f.submit(); '
      );
    end;

    ..and session on auth app will close...

    I think here too, there are several ways maybe you can use the timer in the first app after the call redirection ??:

    procedure TMainForm.UniTimer1Timer(Sender: TObject);
    begin
      UniSession.Terminate();
    end;

    second app:

    firstly, need to analyze the demo project:

    C:Program Files (x86)FMSoftFrameworkuniGUIDemosDesktopURLParameters...

    ..on close or on timeout in the main app the user will be redirect to the auth app...

    UniServerModule.ServerMessages.TerminateTemplate..:

    http://forums.unigui...ose/#entry28523

    <html>
    <script>
    function redirect() {
        location.href = "http://localhost:8077"; // first app url
    }
     window.onpaint = redirect();
    </script>
    <body bgcolor="#dfe8f6">
    </body>
    </html>

    Try...

    Best regards.

    • 0
  • 相关阅读:
    MyBatisPlus简单查询
    vue Composition API官网
    操作mysql脚本
    elbutton 自定义背景图片
    k8s 应用yaml
    分页查询
    nodejs 工具库
    eltablecolumn的转义,eltablecolumn根据返回的数据判断
    谷歌地图在线
    YOLOX在OpenVINO、ONNXRUNTIME、TensorRT上面推理部署与速度比较
  • 原文地址:https://www.cnblogs.com/wxb-km/p/4788408.html
Copyright © 2020-2023  润新知