我在xpages中写了一个更改密码模块,而不是使用?changepassword功能,我能够让管理进程更改密码才能工作,并且能够使用xpage和ssjs更改http密码。发表here。问题是,在Web用户更改其http密码后,在管理进程执行密码更改请求后约1分钟或更短时间内,用户将被锁定在服务器之外。服务器显示以下错误14次:
nHTTP: user@emailaddress.com [192.168.0.197] authentication failure using internet password
然后,它显示以下消息:
nHTTP: user@emailaddress.com [192.168.0.197] has just been locked out via internet password lockout: User is locked out
服务器设置为使用单服务器会话身份验证,大多数其他设置是vanilla。它设置为使用自我证书(用于测试),锁定设置为15次尝试。我们还使用OAuth令牌存储进行FaceBook和LinkedIn身份验证。
如果我删除了锁定记录并尝试重新登录,服务器会立即再次锁定我,服务器控制台会显示多次尝试,即使我只是尝试登录一次。如果我删除了锁定记录并切换到其他浏览器(foxfire或chrome),那么我可以正常登录。我假设这是一个身份验证令牌问题,当我在服务器上更改我的互联网http密码时,客户端没有获得更新的信息,当客户端将密钥信息传递给服务器时,它不再匹配并导致它把我锁起来。
带有$$ ChangePasswordForm的dbname.nsf?changepassword功能可以使用,我可能会使用它,但希望如果有人在他们找到解决方法之前已经看过这个。
答案 0 :(得分:2)
我认为问题的关键在于你的评论
如果我删除了锁定记录并切换到其他浏览器(foxfire或chrome),那么我就可以正常登录了。
我认为问题是用户在更改密码后有一个无效的令牌,表示他们在cookie LTPAToken中的身份验证详细信息。在成功更改密码后的响应中,使用setCookie调用或其他方法使cookie无效/删除,并强制用户重新进行身份验证。