我是管理员,我需要删除用户。ASP.NET成员资格:安全用户删除
如果用户在我删除它的时刻进行了身份验证,那么强制删除的用户在下一个请求中注销的最佳策略是什么?
我必须在Application_AuthenticateRequest
事件中处理此操作吗?
换句话说,可以在AuthenticateRequest
事件中验证用户是否仍然存在,如果不存在,则删除所有Cookie并重定向到登录页面?
我是管理员,我需要删除用户。ASP.NET成员资格:安全用户删除
如果用户在我删除它的时刻进行了身份验证,那么强制删除的用户在下一个请求中注销的最佳策略是什么?
我必须在Application_AuthenticateRequest
事件中处理此操作吗?
换句话说,可以在AuthenticateRequest
事件中验证用户是否仍然存在,如果不存在,则删除所有Cookie并重定向到登录页面?
一些研究和评估后,终于我找到了一个战略来处理这种情况,所以,在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");
}
}
}
当请求被认证时,验证用户仍然在存在系统,如果不是所有的cookies都会被删除,请求将被重定向到登录页面。
如果你删除它们,那么我假设他们的下一个请求很可能会出错。
即使他们具有身份验证cookie,任何检查数据库与其用户ID的页面显然都会引发异常。
你很可能只是禁用用户而不必删除它们。
好的。我一定要禁用用户。但如何管理“删除用户场景”?可以在Application_AuthenticatedRequest事件中验证用户是否已经存在,是否删除所有Cookie并重定向到登录? – 2010-11-18 19:25:29
管理这种情况的最佳策略是什么? – 2010-11-18 19:28:58
是的,如果应用程序在使用时被删除,应用程序可能会误报。在这种情况下,看到错误或登录页面有什么区别;他们不再是一个用户。 – Greg 2010-11-19 21:04:15