package cn.stylefeng.guns.base.auth.context; import cn.stylefeng.guns.base.auth.model.LoginUser; import java.util.List; /** * 当前登录用户信息获取的接口 * * @author fengshuonan * @Date 2019/7/18 22:27 */ public interface LoginContext { /** * 获取当前登录用户 * * @author fengshuonan * @Date 2019/7/18 22:31 */ LoginUser getUser(); /** * 获取当前登录用户的token * * @author fengshuonan * @Date 2019/7/18 22:31 */ String getToken(); /** * 是否登录 * * @author fengshuonan * @Date 2019/7/18 22:31 */ boolean hasLogin(); /** * 获取当前登录用户id * * @author fengshuonan * @Date 2019/7/18 22:31 */ Long getUserId(); /** * 验证当前用户是否包含该角色 * * @param roleName 角色名称 * @return 包含:true, 否则false */ boolean hasRole(String roleName); /** * 验证当前用户是否属于以下任意一个角色 * * @param roleNames 角色列表,逗号分隔 * @return 包含:true, 否则false */ boolean hasAnyRoles(String roleNames); /** * 验证当前用户是否拥有指定权限 * * @param permission 权限名 * @return 拥有权限:true,否则false */ boolean hasPermission(String permission); /** * 判断当前用户是否是超级管理员 */ boolean isAdmin(); /** * 判断用户是否是从oauth2登录过来的 */ boolean oauth2Flag(); /** * 获取当前用户的部门数据范围的集合 */ List getDeptDataScope(); }