gpt4 book ai didi

spring - 如何通过特定主体名称删除现有 session

转载 作者:IT王子 更新时间:2023-10-29 06:00:47 25 4
gpt4 key购买 nike

我在我的项目中使用带有 Redis 后端的 Spring Session 1.3.0。

我有一个用例, super 管理员可能会更新可能已经登录的现有用户的角色。我想在更改角色后删除这些用户的现有 session 记录。

有Spring Session的API可以存档吗?

最佳答案

    @Autowired
private SessionRegistry sessionRegistry;

public void expireUserSessions(String username) {
for (Object principal : sessionRegistry.getAllPrincipals()) {
if (principal instanceof User) {
UserDetails userDetails = (UserDetails) principal;
if (userDetails.getUsername().equals(username)) {
for (SessionInformation information : sessionRegistry.getAllSessions(userDetails, true)) {
information.expireNow();
}
}
}
}
}

关于spring - 如何通过特定主体名称删除现有 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42083519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com