Attributes attrs = ldapContext.getAttributes("DC=BPLAB01,DC=local");
System.out.println("Lockout policy for " + attrs.get("distinguishedName").get());
Long lockoutDuration = Long.parseLong(attrs.get("lockoutDuration").get().toString());
System.out.println("Duration: " + lockoutDuration);
持续时间:-9000000000
将其设置为40分钟会产生
持续时间:-24000000000
所以我的简单问题是,这里发生了什么,为什么这个大的负数?
答案 0 :(得分:5)
巨大的数字是large integer,表示超过锁定阈值时 100纳秒间隔的数量的负数,这是在解锁帐户之前必须经过的时间
更明确地说,你要做的是在这些巨号的末尾添加两个0来获得纳秒数:24000000000变为2400000000000.
我们将其转换为分钟: 2400000000000 = 40分钟。
那么让我们看一下你以前的9000000000的价值;一旦我们将它乘以100(现在它们是100纳秒间隔!)就变成了900000000000,现在我们将其转换为分钟(通过谷歌轻松完成),我们可以看到您之前的值是0.15分钟。
该值很可能以负数形式存储,因此可用于查找与设置锁定阈值的时间之间的差异。