在更改密码期间锁定用户

时间:2012-05-16 17:21:22

标签: asp.net security asp.net-membership

假设我是管理员。我想重置用户的密码。(Asp.net网络表单)。 在我更改密码之前,我想阻止用户登录网页,因为理论上他/她也可以登录更改密码。

我正在考虑将IsLockedOut设置为“true”,但我听说它只在数据库中读取。 有没有办法把这个人踢出去? 我的意思是如果用户名是“test”,我想在我的操作期间阻止“测试”登录。

MembershipUser user = Membership.GetUser(userName);
if (user.IsLockedOut == false)
{
   // kick out user
}

感谢。

2 个答案:

答案 0 :(得分:1)

您总是可以编写自己的方法来访问数据库,比如说您在MS SQL服务器上使用默认的ASP.NET memebership提供程序,您可以访问aspnet_Membership表。

在此处,您可以在工作时将IsLockedOutIsApproved更改为False / 0,然后在完成后再将其更改回来。

这可以是Web GUI中的一个按钮,您只需要映射到其UserId的用户名,但正如您所说,您需要编写自己的方法来访问数据库中的这些表。

答案 1 :(得分:0)

“最好的方式”是自以为是,但这是我如何根据你的要求做的。我会在您的运营期间将test的用户名更改为test_reset(或类似名称)。在您的运营期间,最终用户test将无法使用其用户名(以及最终用户,无法知道其用户名被更改为)进行登录。句点结束后,将用户名更改回原始用户名。

一般注意事项:只要您是管理员,并且有权访问,我就会深入研究,而不是依靠Web GUI来实现这一点......