Проблема аутентификации сервера Datasnap с удаленной базой учетных данных пользователей - PullRequest
1 голос
/ 04 апреля 2019

Ситуация такова: клиент Datasnap подключается к серверу Datasnap со своими учетными данными. Процедура аутентификации начинается с того, что сервер отправляет запрос в удаленную базу данных, в которой хранятся учетные данные пользователя. Если учетные данные совпадают - все хорошо, аутентификация выполнена. Но что, если в данный момент удаленная база данных недоступна? Как я могу выдать клиенту что-то вроде «Сервер недоступен в данный момент, попробуйте позже» во время аутентификации? Или второй случай: пользователь заблокирован (чтобы понять это, нам тоже нужен доступ к базе данных), и я хочу рассказать ему причину, по которой он не может получить доступ к сервису? Я гуглил эту проблему, но все еще не понимаю, как это сделать.

Любой совет может быть полезным, заранее спасибо и хорошего дня!

1 Ответ

0 голосов
/ 05 апреля 2019

Событие DSAuthenticationManager.OnUserAuthenticate может возвращать только True или False, и если оно возвращает False, то предопределенное исключение на клиенте предопределено.

Одним из решений этого являетсяпусть ваш OnUserAuthenticate всегда возвращает значение True, затем в вашем клиенте вызовите метод сервера вашего собственного дизайна, который возвращает сообщение, которое вы закодировали в соответствии с найденной ситуацией.Я возвращаю свое сообщение как параметр var методу сервера.

...