在MVC和SQL Server中每90天更改一次密码

时间:2014-10-14 16:15:23

标签: c# sql sql-server asp.net-mvc

我希望有一种方法可以让用户在使用90天后更改密码。

我有类似的东西

ALTER PROCEDURE [dbo].[spRecoverPassword]
(
   @sUsername varchar(50),
   @sPassword varchar(100),
   @sPasswordSalt varchar (128)
)
AS
BEGIN
    SET NOCOUNT ON;

    if (exists (select 1
                from USER
                where Username = @sUsername))
    begin
        update USER
        set Password_Salt = @sPasswordSalt,
            Password = @sPassword,
        where Username = @sUsername;

        select 1;
    end
    else 
    begin
        select -1;
    end
END    

然后我有一个从ASP.NET MVC调用此存储过程的方法。不知何故,我想检查密码上次更改的日期,并且如果该日期比今天高90天,它将再次将其重定向到恢复通道。我该怎么做?

由于

2 个答案:

答案 0 :(得分:2)

在用户表中添加新列以保存上次修改的密码日期。 on Get方法计算密码的上次修改日期与今天的日期之间的差异。并做你想做的事。

答案 1 :(得分:2)

非常简单:

  1. 在USER表中添加日期字段,例如last_changed
  2. 在查询
  3. 中使用last_changed更新now()
  4. 检查天差DATEDIFF(now(),last_changed)>90