以下是我对这两种插件的理解:
身份验证插件——如果我们想在特定条件下阻止用户,我们可以添加一个自定义模块来返回 STATE_ERROR。否则,只要提供的用户凭据(Uid 和密码)正确,默认身份验证模块(使用 OpenDJ)就会返回成功。
Post Authentication 插件 - 具有三种方法(onLoginSuccess、onLoginFailure 和 onLogout)。我们可以使用插件通过设置cookie和会话变量将错误代码(认证结果)发送到受保护的应用程序。
我们的目标 - 需要在所有 7 种情况下向受保护的应用程序返回不同的错误代码:
- 错误的凭据 -103
- 第三次密码错误尝试 - 9103
- 帐户锁定 - 113
- 强制更改密码-112
- 密码过期 - 111
- 帐户不活动 – 9115
- 帐户暂停 - 9114
问题 - 我们如何不重复两个插件中的逻辑来达到目标?