/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.core.sso.online; import java.util.Collection; import java.util.Set; /** * <p> IOnlineUserManager.java </p> * <p> * 在线用户管理类接口 * </p> */ public interface IOnlineUserManager { /** * <p> * 根据token判断用户是否已经登录其他系统,如果登录则返回True,否则返回false * </p> * @param token * @return */ boolean isOnline(String token); /** * <p> * 注册用户登录当前系统 * </p> * @param token 令牌 * @param appCode 当前系统Code * @param sessionId 当前SessionID * @param userId 当前系统用户ID * @param userName 当前用户名称 */ void register(String token, String appCode, String sessionId, Long userId, String userName); /** * <p> * 销毁在线用户或访问应用:根据应用Code,SessionId销毁相应的记录。 * 注:一次只注销一个应用,即一次登录、多次登出。用户有可能不想退出一次性退出全部应用。 * com.jinhe.tss.core.web.listener.SessionDestroyedListener,此监听器会在session超时时自动销毁在线用户信息。 * </p> * * @param appCode * @param sessionId */ String logout(String appCode, String sessionId); /** * <p> * 根据Token获取当前用户登录的所有系统的相关信息 * </p> * @param token */ Set<OnlineUser> getOnlineUsersByToken(String token); /** * 获取所有在线用户名称 * @return */ Collection<String> getOnlineUserNames(); }