From d8da1b796c0bc63c917ce7ece9f2a4da2325b394 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sat, 16 Oct 2021 18:28:38 +0800
Subject: [PATCH] 优化权限认证注解
---
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java | 34 +++++++++++++++++-----------------
1 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java
index 36eb90c..895610d 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/SecurityUtils.java
@@ -1,14 +1,9 @@
package com.ruoyi.common.core.utils;
import javax.servlet.http.HttpServletRequest;
-
-import com.ruoyi.common.core.exception.BaseException;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.text.Convert;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
/**
* 权限获取工具类
@@ -22,13 +17,8 @@
*/
public static String getUsername()
{
- String username = "";
- try {
- username = URLDecoder.decode(ServletUtils.getRequest().getHeader(CacheConstants.DETAILS_USERNAME), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- throw new BaseException("获取username失败");
- }
- return username;
+ String username = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USERNAME);
+ return ServletUtils.urlDecode(username);
}
/**
@@ -36,7 +26,7 @@
*/
public static Long getUserId()
{
- return Convert.toLong(ServletUtils.getRequest().getHeader(CacheConstants.DETAILS_USER_ID));
+ return Convert.toLong(ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USER_ID));
}
/**
@@ -52,10 +42,20 @@
*/
public static String getToken(HttpServletRequest request)
{
- String token = ServletUtils.getRequest().getHeader(CacheConstants.HEADER);
- if (StringUtils.isNotEmpty(token) && token.startsWith(CacheConstants.TOKEN_PREFIX))
+ // 从header获取token标识
+ String token = request.getHeader(SecurityConstants.TOKEN_AUTHENTICATION);
+ return replaceTokenPrefix(token);
+ }
+
+ /**
+ * 裁剪token前缀
+ */
+ public static String replaceTokenPrefix(String token)
+ {
+ // 如果前端设置了令牌前缀,则裁剪掉前缀
+ if (StringUtils.isNotEmpty(token) && token.startsWith(SecurityConstants.TOKEN_PREFIX))
{
- token = token.replace(CacheConstants.TOKEN_PREFIX, "");
+ token = token.replaceFirst(SecurityConstants.TOKEN_PREFIX, "");
}
return token;
}
--
Gitblit v1.9.3