我有一个 biztalk - 窗口服务绑定的中间件应用程序,可以与其他系统对话。
最近我们收到一个测试与日期相关的场景的请求。
由于应用程序中有很多地方使用 .net Datetime.Now 值,我们实际上并不想进入代码级别并更改所有这些值。
因此,我们正在寻找最简单的测试方法,那就是改变操作系统时间。
但我们注意到,有时当我们更改系统日期时间时,我们会因 Active Directory 而导致帐户被锁定。
- 所以我的问题是,有什么好且安全的方法,我可以通过更改 Windows 操作系统日期时间来测试未来日期等,但不会导致 Active Directory 出现任何问题。
- 在哪里可以找到有关 AD 的更多信息以及它如何发布令牌以及与系统日期时间变化的关联是什么。
谢谢!〜m
答案1
您可以尝试禁用 Kerberos 身份验证,然后查看 NTLM 身份验证是否适用于您的测试。NTLM 身份验证不需要同步所需的时间,可能会满足您的需求。
对于关键任务系统的日期测试,我总是设置一个与正常生产域控制器隔离的测试域,并相应地设置日期和时间。这样做的好处是保持生产域控制器上的日志干净,并有助于确保测试结果的保真度。虚拟机是将生产系统复制到测试环境中的好方法。如果您确实使用虚拟机,请注意客户操作系统通常会与其物理主机的硬件时钟同步。
有关 AD 和时间同步的更多信息,请搜索:Windows Kerberos 时间偏差
祝你好运