Delphi XE2 DataSnap - Доступ к свойствам соединения REST в модуле методов сервера

Я создаю сервер XE2 DataSnap, который будет обслуживать соединения от клиентов REST. Моё свойство DSServerClass LifeCycle установлено в "Вызов". Свойства соединения REST будут включать имя пользователя и пароль, которые обрабатываются с помощью события DSAuthenticationManager UserAuthenticate(). Что мне нужно знать, это как я могу получить доступ к имени пользователя и паролю в классе методов сервера? Я хочу знать, какое имя пользователя / пароль REST запустили экземпляр объекта моего класса сервера.

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 для этого!

Другие вопросы по тегам