繁体   English   中英

有没有办法从数据库中注销特定用户或所有用户?

[英]is there a way to logout a specific user or all users from database?

我正在使用带有弹簧安全性的grails 2.2。 我正在使用MySQL数据库。 我想知道是否有一种方法可以通过清除mysql数据库中的数据来注销用户或所有用户。

我想知道是否有一种方法可以通过清除mysql数据库中的数据来注销用户或所有用户。

没有。 通常,数据库中甚至不存在表示用户是否已登录的状态。 在一个简单的系统中,信息将存储在Web应用程序的内存中。 在更复杂的系统中,信息可能存在于与应用程序通信的单独服务中。 该信息通常不会存储在数据库中。

请注意,将凭据(如用户名,密码和角色)存储在数据库中是与跟踪谁登录无关的。

希望对您有所帮助。

如果删除数据库中的数据,则用户将无法登录NEXT TIME。

如果打开了当前会话,则用户将保持登录状态,Spring Security中没有开箱即用的机制来结束特定用户的会话。

如果安装JavaMelody (有时可以作为grails插件使用),则应该能够看到所有活动的会话,并且可以从界面中将其删除(这将导致所有用户注销)。

正如JSB所说,您无法完全按照要求执行操作,因为数据没有存储在应用程序数据库中。

但是,您可以从Web应用程序检查会话,并使其中的一些会话无效,这将“注销”关联的用户。 我基于旧的“ app-info ”插件和“ scopesInfoService”编写了服务和控制器。 请参阅源代码博客

如果您需要快速修复并将其部署到Tomcat,请尝试使用管理器webapp使您的webapp会话无效,尽管如果您尚未显式添加用户名(或其他标识字符串)来确定要选择的会话可能会很棘手。身份验证成功后,将会话设置为会话“登录”属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM