用户凭据的远程数据库的Datasnap服务器身份验证问题

时间:2019-04-04 14:05:45

标签: delphi authentication datasnap multi-tier

情况是:Datasnap客户端使用其凭据连接到Datasnap服务器。身份验证过程始于服务器向持有用户凭据的远程数据库发出请求。如果凭据匹配-一切正常,则身份验证完成。但是,如果此时远程数据库不可用怎么办?身份验证时,如何向客户端推送“服务器暂时不可用,请稍后再试”之类的内容?或第二种情况:用户被阻止(要意识到这一点,我们也需要访问数据库),我想告诉他一个他无法访问服务的原因?我正在搜寻这个问题,但我仍然不了解正确的解决方法。

任何提示都会有所帮助,在此先感谢,祝您愉快!

1 个答案:

答案 0 :(得分:0)

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

对此的一种解决方案是让您的True始终返回一个var值,然后在您的客户端中,调用您自己设计的服务器方法,该方法将返回一条消息,该消息已被您适当地编码为发现的情况。我将消息作为def __init__(self, string): self.output = string self.getSentence = string self.getWords = string.split() self.getLength = len(list(string)) self.getNumWords = len(string.split()) def __str__(self): return str(self.output) def getSentence(self): self.output = self.getsentence def getWords(self): self.output = self.getWords def getLength(self): self.output = self.getLength def getNumWords(self): self.output = self.getNumWords 参数返回到服务器方法。