我们有一个客户,它为其企业中部署的大多数应用程序使用LDAP . 当然,我们的产品也使用相同的LDAP进行身份验证 . 在执行身份验证检查(不使用IWA)时,我们使用基于表单的界面接受用户名/密码 . 以后的服务使用Spring LDAPTemplate 查询LDAP以检查提供的凭据是否有效 . 如果凭据无效,则服务内部会根据用户ID维护计数 . 如果该计数超过指定的限制,它将锁定用户并且不允许登录我们的产品 .

虽然实施失败计数的目的是限制产品级别的无效尝试,并确保LDAP帐户不被锁定(LDAP锁定计数可能更高) . 因此,即使用户使用合法凭据锁定我们的产品,他仍然可以继续使用其他应用程序 . 如果有人试图使用其他人的凭据登录我们的产品,则可能会出现这种情况 .

这个想法是否正确?或者我们应该在产品级别摆脱锁定功能并继续向LDAP发出请求,直到帐户被锁定在LDAP?

Scenario

组织XYZ Ltd.具有LDAP,用于产品A,产品B以及Windows OS身份验证 . LDAP的登录失败次数为15.有两个用户P先生,Q先生 .

Locking at product level (最大登录失败次数为5)

  • Q先生,尝试使用错误密码的P先生的用户ID登录产品A.

  • Q先生,尝试了5次,因此P先生的账号被锁定在产品中 . LDAP登录失败计数更新为5 .

  • P先生尝试登录产品A,并在帐户被锁定时收到消息 .

  • P先生仍然可以访问Windows操作系统,他仍然可以访问其他应用程序 .

No Locking at product level

  • Q先生,尝试使用错误密码的P先生的用户ID登录产品A.

  • Q先生,尝试15次,因此P先生的账号被锁定在产品中 . LDAP登录失败计数更新为15 .

  • P先生尝试登录产品A,并在帐户被锁定时收到消息 .

  • P先生无法访问其他应用程序 .

有了上述情况,哪种行为可以接受?带/不带锁定支撑的产品 .