检测active directory用户是否必须通过Java重置其密码
我们在windows服务器上设置了一个active directory(它不是一个合适的LDAP),我们的应用程序通过相同的方法对用户进行身份验证 我想知道用户是否是第一次登录以强制他重置密码检测active directory用户是否必须通过Java重置其密码,java,active-directory,ldap,Java,Active Directory,Ldap,我们在windows服务器上设置了一个active directory(它不是一个合适的LDAP),我们的应用程序通过相同的方法对用户进行身份验证 我想知道用户是否是第一次登录以强制他重置密码 我们无法在应用程序级别维护标志,因为用户可以通过使用相同身份验证的任何应用程序登录。根据,如果用户从未登录过,lastLogonTimestampldap属性没有值。所以你可以用这个来确定用户是否已经登录。我被这个场景误导了。如果设置了用户的“下次登录时更改密码”标志,则通过Java登录时会出现错误 找到
我们无法在应用程序级别维护标志,因为用户可以通过使用相同身份验证的任何应用程序登录。根据,如果用户从未登录过,
lastLogonTimestamp
ldap属性没有值。所以你可以用这个来确定用户是否已经登录。我被这个场景误导了。如果设置了用户的“下次登录时更改密码”标志,则通过Java登录时会出现错误
找到解决办法了。非常感谢您抽出时间。lastLogonTimeStamp只保证在14天内复制。所以它在DC上可能是正确的,而不是在另一个上。@jeemster,你能详细说明一下,走这条路有用吗?Pavan,jeemster说这个属性保证只在14天内被复制。因此,当您有多个DC时,可能会得到一个旧值,因为它尚未更新。下面的链接建议,如果你想像HYS所说的那样实时获取登录信息,就使用安全日志。您可以从一个DC获取旧值或无值,从另一个DC获取当前值。