2

我有一个连接到我们的 WCF 服务以发送数据的应用程序。它使用自定义用户验证来验证用户。

目前,如果客户端时间与我们服务器的时间显着不同(默认为 5 分钟),则此错误将导致连接出错。

我正在尝试捕获此特定错误,以便在服务器端,我可以在它发生时通知某人以及它发生的用户/客户端。

我想这样做是因为允许更大的时钟偏差不会解决我们的问题,客户端的机器时间可能会有很大的变化。我们不控制客户端机器,但是我们可以让他们更新他们的时间。

我试图在 validate 方法中放置一个通用的 try/catch,并且它确实捕获了其他异常(例如,如果身份验证失败 - 我抛出一个 FaultException),它似乎没有捕获时钟偏差问题。我猜这不是抓住这个的正确地方,但我不知道它应该去哪里。

我将实现传递客户端时间作为登录的一部分(正如我在其他地方看到的那样),但是我现在无法做到这一点,并且确实需要一种方法来识别同时具有不正确日期/时间的客户端。

如果有帮助,该服务正在使用:basicHttpBinding,其安全模式为:TransportWithMessageCredential

4

0 回答 0