Delphi XE2 DataSnap - 访问服务器方法模块中的 REST 连接属性

发布于 2024-12-27 02:38:05 字数 230 浏览 1 评论 0原文

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

I'm building an XE2 DataSnap server which will serve connections from REST clients. My DSServerClass LifeCycle property is set to 'Invocation'. The REST connection properties will include username and password, which are handled through the DSAuthenticationManager UserAuthenticate() event. What I need to know is how can I access the username and password within the server methods class? I want to be able to know which REST username/password launched the object instance of my server class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜尕妞 2025-01-03 02:38:05

您可以使用 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;

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

You can use DSServerClass.OnPrepare for that:

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

There's is no password available.
Don't use Server LifeCycle for this!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文