嗨我有登录系统类似的应用程序在C#窗体中。当用户输入3次错误的详细信息时,会发出一条消息并说ACCOUNT LOCKED。是否有任何技巧/方法冻结该用户的帐户几秒钟?帐户冻结了几秒
Q
帐户冻结了几秒
-1
A
回答
0
有很多方法可以冻结一个帐户。您可以设置权限列表。在权限列表中,您可以设置一个令牌并在每次有人尝试登录时增加它。如果令牌的值超过某个值,则用户无法登录某个时间帧,具体取决于DateTime
设置。
你有什么尝试,如果有什么?你有没有可以分享的代码,以便用户能够理解你想要进入的方向?
1
当他被封锁时,您可以创建一个字典,提供用户名和时间。例如: -
private Dictionary<string, DateTime> blockedUsers;
登陆后,你会如果当前用户在“blockedUsers”是否存在,如果真验证,则必须比较当前时间和存储在列表中的特定用户的时间。如果它在30秒的范围内,则可以取消显示错误的登录。否则,您将从阻止列表中删除此用户。事情是这样的:
// Checks if the user exists in the blockedUsers.
if (blockedUsers.ContainsKey(userName))
{
// If so, then gets the difference between when he was blocked and now.
var diffInSeconds = (DateTime.Now - blockedUsers[userName]).TotalSeconds;
// If the difference is smaller than 30, prevent him from loggin.
if (diffInSeconds < 30)
{
MessageBox.Show("Sorry, but your user has been temporary blocked from loggin. Try later.");
return;
}
// If the diff is greater than 30, then there is no reason to keep him in blocked list.
else
{
blockedUsers.Remove(userName);
}
}
你要做的另一件事是:如果“wrongAttempts”是3,那么您将其添加在“blockedUsers”,如果他试图在30秒再次登录时,他会被第一次验证所阻挡。
if (wrongAttempts >= 3)
{
blockedUsers.Add(userName, DateTime.Now);
}
就是这样。希望它可以帮助你!
+0
谢谢大家的帮助。 – saagar 2014-11-24 12:39:58
相关问题
- 1. iOS主线程冻结了几秒钟
- 2. 小键盘冻结了几秒钟
- 3. 网站在几秒钟内冻结
- 4. 几秒钟内冻结脚本
- 5. 如何冻结PHP脚本几秒钟?
- 6. 应用程序在设备启动前几秒钟冻结
- 7. 使用$ localForage.setItem时,应用程序冻结几秒
- 8. Jquery自动重新加载冻结网站几秒钟
- 9. 当ajax发布后,页面冻结几秒钟
- 10. Swingworker.done()在完成后将GUI冻结几秒
- 11. 下载大文件:: readAll冻结几秒钟
- 12. chrome.contextMenus.create冻结了铬
- 13. VBA在Excel中:画面冻结了此前连续复印了几秒钟,粘贴
- 14. iphone - 主线程冻结了半秒钟......为什么?
- 15. 我解雇UIViewController后UI冻结了5秒
- 16. 我的Java程序在调用oracle.jdbc.pool.OracleOCIConnectionPool.getConnection时冻结了几分钟
- 17. zClip冻结了Firefox up
- 18. MidiSystem.getReceiver()冻结了的JFrame
- 19. Xcode 6.1每5秒钟冻结一次
- 20. 詹金斯GitHub的连接错误 - 您的帐户被冻结
- 21. 为什么使用WMI获取CPU使用冻结我的程序几秒钟?
- 22. “远程系统资源管理器操作”导致几秒钟冻结
- 23. 在wxgrid中冻结少数几列
- 24. Node.js冻结几个请求后
- 25. 几个SSH密钥和用户帐户
- 26. 提示用户,等待几秒钟,然后结束程序?
- 27. 我的聊天客户端开始线程后冻结了
- 28. 每10秒阅读我的Twitter帐户
- 29. 禁用用户交互几秒钟android
- 30. jFileChooser.showOpenDialog()冻结应用程序..没有错误/异常..尝试了几件事
我试过类似if(correct){proceed} else {wrongAttempt ++} if(wrongAttempts == 3){Console.WriteLine(“Account Lock”)}。 请向我解释我可以用应用程序或用户帐户的30秒冻结时间替换帐户锁定的方式。 – saagar 2014-11-24 10:58:37
FelipeKunzler对你来说是一个很好的开始。我会从那里开始,并检查是否需要更多帮助。 – 2014-11-24 12:31:47