【问题标题】:How do I add additional JSON pairs in RAD Studio/Delphi in conjunction with FDBatchMoveJsonWriter?如何结合 FDBatchMoveJsonWriter 在 RAD Studio/Delphi 中添加额外的 JSON 对?
【发布时间】:2018-04-24 21:54:31
【问题描述】:

我正在使用 HTML 客户端,并且遇到以下情况: 使用 Embarcadero 的 RAD 服务器的内置身份验证方法,我已经成功登录了一个用户,现在想以连接是 RESTful 的方式来回传递会话令牌。问题在于,由于某种原因,我不知道如何在 RAD 服务器中跟踪所述会话令牌。 Embarcadero 自己一直保密,告诉我们公司我们可以使用 Sencha/ExtJS 做到这一点,但我们宁愿不必购买更多的软件。整体结构如下:

登录 POST 用户名和密码(工作)到 RAD 服务器(仍在工作)并接收带有会话令牌的完整响应。此时,我想打开另一个 HTML 文件并在显示数据时维护该会话令牌,这样对于每个 JSON 请求,我都会发送该会话令牌。但在 RAD Studio 中,据我所知,我无法手动将 JSON 数据添加到已构建的 JSON 对象以提供给 FDBatchMoveJsonWriter 组件。任何人对此做过的任何建议/示例,如果可能的话?

【问题讨论】:

    标签: json rest delphi session firedac


    【解决方案1】:

    我还没有使用过 RAD 服务器,但发布到许多 REST 服务。 RAD 服务器可能支持在标头中添加身份验证吗?我将 THTTPBasicAuthenticator 连接到我的 TRESTClient 并在 OnAuthenticate 事件中添加令牌数据。

    procedure TCLTSProcessor.RESTAuthenticatorAuthenticate(ARequest: TCustomRESTRequest; var ADone: Boolean);
    begin
      ARequest.AddAuthParameter('token', userToken, pkHTTPHEADER);
    end;
    

    我使用的另一种方法是将 TOAuth2Authenticator 连接到 REST 客户端并将 TokenType 设置为 ttBEARER 并设置 AccessToken 属性。

    【讨论】:

    • 我们使用的是内置认证系统
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2011-07-05
    • 2013-05-09
    • 1970-01-01
    相关资源
    最近更新 更多