我正在构建一个XE2 DataSnap服务器,它将为REST客户端提供连接。我的DSServerClass LifeCycle属性设置为“Invocation”。 REST连接属性将包括用户名和密码,这些用户名和密码通过DSAuthenticationManager UserAuthenticate()事件处理。我需要知道的是如何在服务器方法类中访问用户名和密码?我希望能够知道哪个REST用户名/密码启动了我的服务器类的对象实例。
答案 0 :(得分: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;
没有密码可用。 不要使用Server LifeCycle!