Я использую Grails 2.2 с Spring Security. Я использую MYSql для базы данных. Мне интересно, есть ли способ выйти из системы пользователя или всех пользователей, очистив данные в базе данных mysql.





Если вы удалите данные в своей БД, пользователи не смогут войти в СЛЕДУЮЩИЙ РАЗ.
Если какие-либо текущие сеансы открыты, пользователи останутся в системе, и в Spring Security нет готового механизма для завершения сеанса определенных пользователей.
Если вы устанавливаете JavaMelody (иногда доступный как подключаемый модуль Grails), вы сможете видеть все активные сеансы и можете удалить их из интерфейса (что приводит к выходу из системы всех пользователей).
I am wondering whether there is a way to logout a user or all users by clearing data in mysql database.
Нет. Состояние, которое показывает, вошел ли пользователь в систему или нет, обычно даже не существует в базе данных. В простой системе эта информация будет храниться в памяти веб-приложения. В более сложной системе эта информация может храниться в отдельной службе, с которой взаимодействует приложение. Эта информация обычно не будет храниться в базе данных.
Обратите внимание, что хранение учетных данных, таких как имена пользователей, пароли и роли, в базе данных — это отдельная вещь, чем отслеживание того, кто вошел в систему.
Надеюсь, это поможет.
Вы не можете сделать именно то, что просили, потому что данные не хранятся в базе данных вашего приложения, как сказал JSB.
Однако вы можете проверить сеансы из своего веб-приложения и аннулировать некоторые из них, что приведет к «выходу из системы» связанных пользователей. Я написал сервис и контроллер на основе старого плагина «информация о приложении» и «scopesInfoService». См. источник и блог.
Если вам нужно быстрое исправление и вы развернуты на Tomcat, попробуйте использовать веб-приложение менеджера, чтобы аннулировать сеансы для вашего веб-приложения, хотя может быть сложно определить, какие сеансы выбрать, если вы еще явно не добавляете имя пользователя (или другую идентифицирующую строку) к атрибуту сеанса «Вход» после успешной аутентификации.