| | |
| | | import com.ruoyi.common.core.exception.auth.NotLoginException;
|
| | | import com.ruoyi.common.core.exception.auth.NotPermissionException;
|
| | | import com.ruoyi.common.core.exception.auth.NotRoleException;
|
| | | import com.ruoyi.common.core.utils.SecurityUtils;
|
| | | import com.ruoyi.common.core.utils.SpringUtils;
|
| | | import com.ruoyi.common.core.utils.StringUtils;
|
| | | import com.ruoyi.common.security.annotation.Logical;
|
| | |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions;
|
| | | import com.ruoyi.common.security.annotation.RequiresRoles;
|
| | | import com.ruoyi.common.security.service.TokenService;
|
| | | import com.ruoyi.common.security.utils.SecurityUtils;
|
| | | import com.ruoyi.system.api.model.LoginUser;
|
| | |
|
| | | /**
|
| | |
| | | private static final String SUPER_ADMIN = "admin";
|
| | |
|
| | | public TokenService tokenService = SpringUtils.getBean(TokenService.class);
|
| | |
|
| | | /**
|
| | | * 会话注销
|
| | | */
|
| | | public void logout()
|
| | | {
|
| | | String token = SecurityUtils.getToken();
|
| | | if (token == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | | logoutByToken(token);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 会话注销,根据指定Token
|
| | | */
|
| | | public void logoutByToken(String token)
|
| | | {
|
| | | tokenService.delLoginUser(token);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 检验用户是否已经登录,如未登录,则抛出异常
|
| | |
| | | {
|
| | | throw new NotLoginException("未提供token");
|
| | | }
|
| | | LoginUser loginUser = tokenService.getLoginUser(token);
|
| | | LoginUser loginUser = SecurityUtils.getLoginUser();
|
| | | if (loginUser == null)
|
| | | {
|
| | | throw new NotLoginException("无效的token");
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 获取当前用户缓存信息, 如果未登录,则抛出异常
|
| | | * |
| | | * @param token 前端传递的认证信息
|
| | | * @return 用户缓存信息
|
| | | */
|
| | | public LoginUser getLoginUser(String token)
|
| | | {
|
| | | return tokenService.getLoginUser(token);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 验证当前用户有效期, 如果相差不足360分钟,自动刷新缓存
|
| | | * |
| | | * @param loginUser 当前用户信息
|
| | | */
|
| | | public void verifyLoginUserExpire(LoginUser loginUser)
|
| | | {
|
| | | tokenService.verifyToken(loginUser);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 验证用户是否具备某权限
|
| | | *
|
| | | * @param permission 权限字符串
|