dangsn
2024-06-07 7664ba49025a6c549885fc6019e4d3c1886f45a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.vci.web.service;
 
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.RequestClientInfo;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.pagemodel.TokenVO;
import com.vci.web.bo.LoginResultBO;
import com.vci.web.dto.LoginUserDTO;
 
/**
 * 登录和退出服务
 * @author weidy
 * @date 2020/1/29
 */
public interface LoginServiceI {
 
    /**
     * 登录
     * @param userDTO 登录信息
     * @param clientInfo 请求的客户端的信息
     * @return 登录的结果对象
     * @throws VciBaseException 登录失败的时候抛出异常
     */
    LoginResultBO login(LoginUserDTO userDTO, RequestClientInfo clientInfo) throws VciBaseException;
 
    /**
     * 单点登录
     * @param userDTO 登录信息
     * @param clientInfo 请求的客户端的信息
     * @return 登录的结果对象
     * @throws VciBaseException 登录失败的时候抛出异常
     */
    LoginResultBO singleLogin(LoginUserDTO userDTO, RequestClientInfo clientInfo) throws VciBaseException;
 
    /**
     * 退出系统
     * @param userToken 用户的许可码
     * @throws VciBaseException 删除会话信息出错的时候会抛出异常
     */
    void logout(String userToken) throws VciBaseException;
 
    /**
     * 刷新token
     * @param sessionInfo session的信息
     */
    void refreshToken(SessionInfo sessionInfo);
 
    /**
     * 刷新token
     * @param key token在redis中的key
     * @param sessionInfo session的信息
     */
    void refreshToken(String key, SessionInfo sessionInfo);
 
    /**
     * 创建许可的信息
     * @param sessionInfo session的信息
     * @return 许可信息
     */
    TokenVO createToken(SessionInfo sessionInfo) ;
 
    /**
     * 创建许可的信息
     * @param key token在redis中的key。
     * @param sessionInfo session的信息
     * @return 许可信息
     */
    TokenVO createToken(String key, SessionInfo sessionInfo) ;
}