懒羊羊
2023-08-30 1ac2bc1590406d9babec036e154d8d08f34a6aa1
提交 | 用户 | 时间
1ac2bc 1 package cn.stylefeng.guns.base.auth.context;
2
3 import cn.stylefeng.guns.base.auth.model.LoginUser;
4
5 import java.util.List;
6
7 /**
8  * 当前登录用户信息获取的接口
9  *
10  * @author fengshuonan
11  * @Date 2019/7/18 22:27
12  */
13 public interface LoginContext {
14
15     /**
16      * 获取当前登录用户
17      *
18      * @author fengshuonan
19      * @Date 2019/7/18 22:31
20      */
21     LoginUser getUser();
22
23     /**
24      * 获取当前登录用户的token
25      *
26      * @author fengshuonan
27      * @Date 2019/7/18 22:31
28      */
29     String getToken();
30
31     /**
32      * 是否登录
33      *
34      * @author fengshuonan
35      * @Date 2019/7/18 22:31
36      */
37     boolean hasLogin();
38
39     /**
40      * 获取当前登录用户id
41      *
42      * @author fengshuonan
43      * @Date 2019/7/18 22:31
44      */
45     Long getUserId();
46
47     /**
48      * 验证当前用户是否包含该角色
49      *
50      * @param roleName 角色名称
51      * @return 包含:true, 否则false
52      */
53     boolean hasRole(String roleName);
54
55     /**
56      * 验证当前用户是否属于以下任意一个角色
57      *
58      * @param roleNames 角色列表,逗号分隔
59      * @return 包含:true, 否则false
60      */
61     boolean hasAnyRoles(String roleNames);
62
63     /**
64      * 验证当前用户是否拥有指定权限
65      *
66      * @param permission 权限名
67      * @return 拥有权限:true,否则false
68      */
69     boolean hasPermission(String permission);
70
71     /**
72      * 判断当前用户是否是超级管理员
73      */
74     boolean isAdmin();
75
76     /**
77      * 判断用户是否是从oauth2登录过来的
78      */
79     boolean oauth2Flag();
80
81     /**
82      * 获取当前用户的部门数据范围的集合
83      */
84     List<Long> getDeptDataScope();
85
86 }