Delphi Kbmmw。超时消息“;“匿名用户未经授权”;

Delphi Kbmmw。超时消息“;“匿名用户未经授权”;,delphi,Delphi,我就我的问题提出了一个新的话题 金说\ 匿名请求通常意味着它找不到 用户名/密码不是客户端请求中的令牌。记住 您在第一次请求时获得的令牌应在所有情况下重复使用 所有客户端代码(所有kbmMWSimpleClient、, kbmMWClientQuery、kbmMWClientResolver等)。在集中化的道路上 是在datamodule上放置TkbmMWSimpleClient并指定所有 客户端查询组件将此简单客户端实例用作 模板。然后作为你客户的第一件事 应用程序,通过 简单 我在客户端应用

我就我的问题提出了一个新的话题

金说\

匿名请求通常意味着它找不到 用户名/密码不是客户端请求中的令牌。记住 您在第一次请求时获得的令牌应在所有情况下重复使用 所有客户端代码(所有kbmMWSimpleClient、, kbmMWClientQuery、kbmMWClientResolver等)。在集中化的道路上 是在datamodule上放置TkbmMWSimpleClient并指定所有 客户端查询组件将此简单客户端实例用作 模板。然后作为你客户的第一件事 应用程序,通过 简单

我在客户端应用程序上更改了ServerSideQueryAllClick。我将令牌从服务器端复制到客户端Edit1.text

procedure TForm1.btnNamedServerSideQueryAllClick(Sender: TObject);
begin
     // Gets all records from server event table.
     If Length(Trim(Edit1.Text)) > 0 then
        Begin
          kbmMWSimpleClient1.Disconnect;

          kbmMWSimpleClient1.Username:= CB1.Text; // Login -> Franz
          kbmMWSimpleClient1.Password:= CB2.Text; // Password -> FranzPassword

          kbmMWSimpleClient1.Token := Edit1.Text; // Token from server
          kbmMWSimpleClient1.Connect;

        End;

     if qServerSide.Active then qServerSide.Close;

     // Use named query.
     qServerSide.Query.Text:='@ALL_EVENTS';
     qServerSide.Open;
end;
它不起作用


如何重新登录

授权演示显示了客户端如何拥有一个simpleclient,该客户端用作所有客户端查询组件的模板(通过将其客户端属性设置为指向simpleclient实例)。 设置令牌时,您特别不希望设置用户名或密码,同样,如果要设置用户名和密码,则不要设置令牌

还要确保qServerSide.Client指向simpleclient。 在打开任何内容之前,通常只需在simpleclient上设置一次用户名/密码,然后,例如,打开查询组件,之后,simpleclient.token值将使用分配的登录令牌从服务器自动更新