C#中的一次性密码会在一段时间后过期吗?

时间:2012-10-24 10:30:17

标签: c# asp.net one-time-password

我正在为C#.net网站登录一个登录页面,遇到了一个问题,并希望你们可以帮助我。

情况如此: 用户进入登录屏幕,然后从那里键入他们的电子邮件,我们将引用数据库检查有效性,如果有效,将生成一个随机的8位数密钥并发送给电子邮件。用户现在应检查他/她的电子邮件以获取“一次性密码”,然后键入一个文本框以继续。

生成和发送电子邮件已经完成,但我不确定如何继续这样做

我的团队成员之间有一些讨论,其中一个建议使用会话超时,然后当点击按钮时,将发送电子邮件,将创建会话变量并在其中存储一次性密码,然后我们将使用会话变量引用用户输入的文本框文本,如果正确,它们将被登录。

我想到的另一种方法是使用Javascript计时器,然后在网页上使用隐形标签进行引用。但我不确定Javascript是否可以允许这种情况发生..

这种情况的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:7)

时间敏感,只需将代码存储在具有到期日期时间的数据库中。然后,当用户带回他们的令牌时,您可以看到它是否尚未过期,如果它已经请求他们开始该过程。