ASP.NET成员:安全用户删除

时间:2010-11-18 18:09:13

标签: asp.net membership

我是管理员,我需要删除用户。

如果用户在我删除它时进行了身份验证,那么强制已删除的用户在下次请求时注销的最佳策略是什么?

我必须在Application_AuthenticateRequest事件中处理此操作吗?

换句话说,如果用户仍然存在,可以在AuthenticateRequest事件中验证,如果没有,则删除所有cookie并重定向到登录页面?

2 个答案:

答案 0 :(得分:2)

经过一些研究和评估,最后我找到了一个处理这种情况的策略,因此,在Global.asax中:

protected void Application_AuthenticateRequest()
{
    var user = HttpContext.Current.User;
    if (user != null)
    {
        if (Membership.GetUser(user.Identity.Name, true) == null)
        {
            CookieHelper.Clear();
            Response.RedirectToRoute("Login");
        }
    }
}

当请求经过身份验证后,我们会验证用户是否仍然存在于系统中,否则将删除所有Cookie并将请求重定向到登录页面。

答案 1 :(得分:1)

如果你删除它们,那么我假设他们的下一个请求很可能会错误。

即使他们拥有身份验证cookie,任何根据其UserID检查数据库的页面显然都会引发异常。

您很可能只是禁用用户而不必删除它们。