我想知道如何使用基于表单的身份验证以编程方式将用户注销。
在线用户:
如果我是管理员,如何将User2从系统中启动? FormsAuthentication.Signout()将从当前用户(Admin)中签出/删除cookie,这将毫无意义。
否则,我可以在数据库中放置一个标志 - 在下一次访问时,操作过滤器会强制他们进入注销页面并使其注销。但这似乎是一种黑客攻击。
答案 0 :(得分:1)
当前内置功能不允许您注销非当前确定,因此您可以在数据库中使用带有标志的选项。或者作为另一种可能的方式 - 在某些全局存储(如HttpContext.Current.Cache
)中为用户存储此标志,然后在每个用户请求上进行检查。但在这种情况下,如果您使用Remember Me
功能,则可能无效,因为此存储将在应用程序重新启动时刷新。