针对SQL Server的自定义winforms身份验证:如何处理密码到期?

时间:2011-12-14 14:29:46

标签: winforms authentication sql-server-2008-r2

我们有一个基于Winforms和Entity Framework 4.2(代码优先)和SQLServer 2008 R2的项目。

在此项目中,用户必须使用其用户名/密码(从登录屏幕)对SQL Server进行身份验证。

因此没有“主”或“系统”用户,并且没有查询来检索/比较用户名/密码:该过程已经使用登录到SQL Server完成。 用户将拥有自己的SQL用户帐户,应该在应用程序中处理。

然而,我们遇到了密码过期政策,它让我们陷入了困境。 我们怎么办呢?具体来说,当帐户已经过期时,我们该如何处理?

我们已经处理了异常,但我们根本不知道如何为用户远程更改密码。

这不是关于用户A更改B的密码。它是关于A更改它自己的密码,因为它已经过期(我不能要求用户登录到SQL Server Management Studio来执行此操作)。

1 个答案:

答案 0 :(得分:0)

您可以使用ALTER LOGIN声明

但是,请注意,这理论上允许任何用户更改任何其他用户的密码,只要他们具有ALTER LOGIN权限,因此您应该确保让用户提供旧密码(我认为这是默认密码)。

出于兴趣,为什么不进行Windows身份验证?这样,登录到期和密码处理对您来说是透明的。