Shiro login single user
发布时间
阅读量:
阅读量
存在一种应用场景,要求两个地点同时使用同一账号进行登录操作,此时需将率先完成登录的用户所对应的会话信息予以清除。
流程分析
- 在用户登录过程中,首先需核查该账号是否在其他终端已存在登录状态。
- 若检测到未登录状态,则允许用户完成当前的登录流程。
- 若发现该账号已在其他设备上登录,则定位对应的会话信息,并在该会话中添加特定标识。
- 当原先已登录的用户再次尝试操作时,系统应检查其会话是否存在标记,若存在则清除相关会话,并向用户反馈相应的提示信息。
自定义登录验证
/** * 自定义realm,用于用户登录的验证和授权
*/
public class MyRealm extends AuthorizingRealm {
private static final Logger LOG = LoggerFactory.getLogger(MyRealm.class);
@Autowired
private UserService userService;
/** * 用户授权方法,在调用 hasRole hasRoles hasPermission hasPermission
全部评论 (0)
还没有任何评论哟~
