2013-07-11 99 views
0

我們使用活動目錄來管理用戶帳戶。現在我們想要使用密碼策略來設置最長密碼時間以強制用戶在2個月後重置密碼。如果他的密碼即將過期(例如3天),我們需要在用戶登錄後提醒用戶。 我們如何獲得這個?我們正在使用Spring LDAP 1.3.0。 我GOOGLE了,看到密碼最大年齡屬性設置在域中。但是,我不知道如何獲得這個值。Java spring LDAP - Waring LDAP密碼過期

感謝 COL

回答

-3

證書過期日期和時間

獲取的日期和時間,讓上次更改口令:

private final static long DIFF_NET_JAVA_FOR_DATE_AND_TIMES = 11644473600000L; 
long adDateTime = Long.parseLong(pwdLastSet); 
long milliseconds = (adDateTime/10000) - DIFF_NET_JAVA_FOR_DATE_AND_TIMES; 
Date pwdLastSetDate = new Date(milliseconds); 

獲得可能具有的最大天數密碼:

private final static int ONE_HUNDRED_NANOSECOND = 10000000; 
private final static long SECONDS_IN_DAY = 86400; 
long maxPwdAge = Math.abs(Long.parseLong(maxPwdAgeStr)); 
long maxPwdAgeSecs = maxPwdAge/ONE_HUNDRED_NANOSECOND; 
int maxPwdAgeDays = (int) (maxPwdAgeSecs/SECONDS_IN_DAY); 

Getti ng密碼將過期的日期和時間

Calendar cal = Calendar.getInstance(); 
cal.setTime(pwdLastSetDate); 
cal.add(Calendar.DATE, maxPwdAgeDays); 
Date credentialsExpiresDate = cal.getTime(); 
+0

完全垃圾。這些都不會靠近LDAP或密碼策略。請閱讀這個問題。 – EJP

-1

您需要使用擴展密碼請求和響應控件來獲取此信息。查看我對this question的回答,獲取必要Java代碼的鏈接。