1

情况是:Datasnap 客户端使用他的凭据连接到 Datasnap 服务器。身份验证过程从服务器向保存用户凭据的远程数据库发出请求开始。如果凭据匹配 - 一切正常,则完成身份验证。但是如果此时远程数据库不可用怎么办?如何在身份验证时向客户端推送诸如“服务器目前不可用,稍后再试”之类的内容?或者第二种情况:用户被阻止(要实现这一点,我们也需要访问数据库),我想告诉他他无法访问服务的原因?我在谷歌上搜索这个问题,但我仍然不明白正确的方法。

任何提示都会有所帮助,在此先感谢您,祝您有美好的一天!

4

1 回答 1

0

DSAuthenticationManager.OnUserAuthenticate事件只能返回Trueor False,如果返回False,则在客户端引发的异常是预先确定的。

对此的一种解决方案是让您OnUserAuthenticate始终返回一个True值,然后在您的客户端中调用您自己设计的服务器方法,该方法返回一条您已根据发现的情况进行编码的消息。我将消息作为var参数返回给 servermethod。

于 2019-04-05T16:50:50.863 回答