3

我正在构建一个 XE2 DataSnap 服务器,它将为来自 REST 客户端的连接提供服务。我的 DSServerClass LifeCycle 属性设置为“调用”。REST 连接属性将包括通过 DSAuthenticationManager UserAuthenticate() 事件处理的用户名和密码。我需要知道的是如何访问服务器方法类中的用户名和密码?我希望能够知道哪个 REST 用户名/密码启动了我的服务器类的对象实例。

4

1 回答 1

1

您可以为此使用 DSServerClass.OnPrepare:

procedure TServerContainerTest.DSServerClass1Prepare(
  DSPrepareEventObject: TDSPrepareEventObject);
begin
  // Add username property to TServerMethodsTest
  if DSPrepareEventObject.MethodInstance is TServerMethodsTest then
    TServerMethodsTest(DSPrepareEventObject.MethodInstance).Username := DSPrepareEventObject.UserName;
end;

没有可用的密码。不要为此使用服务器生命周期!

于 2012-01-14T14:01:10.043 回答