c# - 注销被禁止的用户

标签 c# .net asp.net asp.net-mvc asp.net-membership

我禁止用户使用以下内容:

MembershipUser user = Membership.GetUser(username);
if (user != null)
{
    user.IsApproved = false;
    user.LastLoginDate = DateTime.Now;
    Membership.UpdateUser(user);
}

如果用户当前已登录,他们仍然可以在网站上执行操作,那么我如何才能注销它们?

最佳答案

在你的 global.asax 上你可以做这样的事情..

Application_OnAuthenticateReuqest(object sender, EventArgs e)
{
  if(!UserHasAccess())
  {
     FormsAuthentication.SignOut();
  }
}

private bool UserHasAccess()
{
   var user = Membership.GetUser(Context.User.Identity);

   return user.isApproved;
}

您可能需要考虑某种形式的缓存...

顺便说一句,我假设您在 Controller 方法上使用了正确的 [Authorize] 属性。

关于c# - 注销被禁止的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317794/

相关文章:

c# - WCF 私有(private)内存使用增加查询

c# - 如何在 C# 中获取下一个(或上一个)枚举值

c# - 如何防止datagrid刷新数据?

c# - 我什么时候会在 using 指令上使用别名?

c# - 如何实现延迟位图加载?

.NET CMS 高流量网站

c# - 当前上下文中不存在文本框

c# - 如何从 asp :Dropdownlist on Page load from Code Behind C#? 中选择一个项目

c# - 静态字段 - 使用静态的字符串插值

sql - 如何在没有 Entity Framework 的情况下在 ASP.NET 中使用 Oracle 数据库?