如何在 C# 中创建具有到期日期的用户密码

How to create a user password with an expiration date in C#

我正在使用 WindowsForms 和 C#。我的项目的交易是我需要为每个用户(目前有 4 个用户)设置一个密码,该密码将在一个月内到期,之后他们需要生成一个新的随机密码。 随机密码的部分我已经有了,但是我不能让过期时间生效。 我一直在使用 DateTime class,但我无法让它工作。 我试着像下面的例子那样做一个 if 条件:

if(DateTime.Now < DateTime.Now.AddSeconds(-10))
{
//Message box that tells you that the password has expired
}
else
{
//Random password generator code
}

我也尝试将秒数与我定义的变量进行比较,例如:

int Time = DateTime.Now.Seconds;
int Time2 = 10;

if(Time2 > Time)
{
 //Message box that tells you that the password has expired
}
else
{
//Random password generator code
}

我也在使用 sql 作为数据库,我有一个 table 用户,我在其中存储了用户名和密码。但是我还没有尝试访问主题,因为我想先获取过期密码的代码。 此外,我一直在调查我的问题,但我只发现了一些 Active Directory,但我认为这并不能解决我的问题。 我有什么办法可以解决这个问题吗?

您不能使密码自动过期。此答案最常见的解决方案是将密码到期日期保留在 table 上,您可以在其中保存用户名和密码。

在登录过程中,检查是否有效登录,如果成功则检查密码是否过期。如果密码过期重定向到更改密码页面而不是主窗体。随着密码的更新,不要忘记更新新的到期日期。