Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET,如何在登录页停止重试次数_Asp.net_Login - Fatal编程技术网

ASP.NET,如何在登录页停止重试次数

ASP.NET,如何在登录页停止重试次数,asp.net,login,Asp.net,Login,在我的asp.net网站中,我想在登录页面实现帐户锁定。我不是在使用提供商。此外,我想自动解锁后,可配置的时间帐户 据我所知,微软也提供帐户锁定功能的供应商,但我有不同的要求 1. I am using Oracle database 2. I would not like to store account lock info in database. Because it require administrator involvement. 3. Is there auto-unlock wa

在我的asp.net网站中,我想在登录页面实现帐户锁定。我不是在使用提供商。此外,我想自动解锁后,可配置的时间帐户

据我所知,微软也提供帐户锁定功能的供应商,但我有不同的要求

1. I am using Oracle database
2. I would not like to store account lock info in database. Because it require administrator involvement.
3. Is there auto-unlock way of doing?

请提供帮助?

您可以使用Cookie存储尝试次数和锁定开始时的时间。然后在页面加载时,您从该cookie读取数据,如果尝试次数超过指定时间,则设置锁定。如果已锁定且锁定期已过,则解锁登录


成功登录后,将失败尝试次数设置为0。

您可以使用singleton模式创建一个对象,该对象以缓存或会话对象相同的方式维护请求之间的信息

考虑到这一点,您可以在内存中构造唯一的对象,通过维护每个失败请求的信息来限制站点中的重复请求,您还可以将其与计时器结合起来,以删除早于指定时间的请求。这样,您就可以检查用户没有超过失败的请求计数,计时器将通过自动删除旧请求自动解锁


singleton只会在应用程序进程的生命周期内存在,因此如果它停止循环,它将清除所有请求信息,从而清除所有锁-我认为在IIS中这就像20分钟,尽管部署也会回收应用程序。

谢谢,您在登录页面中对验证码怎么说?因为用户可以打开浏览器的多个会话,并且可以提供有效的凭证。在这种情况下,我们如何保护我们的应用程序?您可以限制IP地址。如果您在一个ip上收到多个失败的请求,无论是否来自多个用户,您都可以在设置的时间段内锁定该ip上的所有请求。如何防止恶意用户清除其cookie,从而解除锁定?