package com.cim.idm.utils;

import org.springframework.stereotype.Component;

@Component
public class SessionManager {

    /**
     * 生成session字符串
     * 该方法用于创建一个包含站点名、用户名和令牌的session字符串
     * 主要用于在系统中维护用户会话状态
     *
     * @param username 用户名，标识用户的身份
     * @param siteName 站点名，表示用户所在的站点
     * @param token 令牌，用于验证用户会话的有效性
     * @return 返回一个格式化的session字符串，包含上述信息
     */
    public String generateSession(String username, String siteName, String token) {
        return siteName + "-" + username + "-" + token;
    }

    /**
     * 设置用户会话
     *
     * 该方法用于创建并返回一个用户会话字符串它基于用户名、站点名称和令牌生成会话，
     * 主要用于用户在特定站点上的状态维护
     *
     * @param username 用户名，标识用户的身份
     * @param siteName 站点名称，表示用户访问的站点
     * @param token 令牌，用于验证用户身份
     * @return 返回生成的会话字符串
     */
    public String setSession(String username, String siteName, String token) {
        // 生成用户会话
        String session = generateSession(username, siteName, token);
        // 返回生成的会话字符串
        return session;
    }
}
