使用nginx lua/perl或任何其他模块跟踪失败的身份验证尝试

使用nginx lua/perl或任何其他模块跟踪失败的身份验证尝试,perl,nginx,lua,http-authentication,Perl,Nginx,Lua,Http Authentication,我正在尝试建立一些我不知道是可能的东西,所以我需要一些指导。基本上我的要求如下 1-每当用户尝试在nginx上使用HTTP auth进行身份验证时,我希望跟踪身份验证是否失败(因此可能是身份验证失败后运行的代码),跟踪(比如在哈希映射中)用户名 2-当用户尝试登录x次时,在x期间内,我希望能够“禁用”。对于禁用它们,我想说,在数据库中将它们标记为禁用,这样它们就不能再登录了 因此,代码将 1-在进行身份验证尝试之前,检查DB表中的帐户是否已禁用,如果已禁用,则拒绝该帐户 2-在身份验证尝试后,如

我正在尝试建立一些我不知道是可能的东西,所以我需要一些指导。基本上我的要求如下

1-每当用户尝试在nginx上使用HTTP auth进行身份验证时,我希望跟踪身份验证是否失败(因此可能是身份验证失败后运行的代码),跟踪(比如在哈希映射中)用户名

2-当用户尝试登录x次时,在x期间内,我希望能够“禁用”。对于禁用它们,我想说,在数据库中将它们标记为禁用,这样它们就不能再登录了

因此,代码将

1-在进行身份验证尝试之前,检查DB表中的帐户是否已禁用,如果已禁用,则拒绝该帐户

2-在身份验证尝试后,如果身份验证不成功,它将把它们放在哈希表中,以跟踪失败的次数,如果满足某个thrash hold,它将调用函数来禁用DB表中的帐户


使用像lua或perl之类的nginx模块是否可以实现上述所有功能,如果可以,有人能向我解释一下我是如何做到的吗?任何指针都会有所帮助。一个简单的解决方案是使用nginx,它允许您将身份验证检查卸载到后端,并使用您最喜欢的语言执行您自己的身份验证检查。有关详细信息,请参阅。

通常,您会将该签入集成到您尝试进行身份验证的服务中。您需要在web服务器中使用它的任何原因?从开始。//mugen kenichi,我可以想到两个原因:跨多个服务共享登录,以及通过客户端证书进行身份验证。