From 807d0524a6e965599f9cdbfc7bbf7504c4d9b917 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 23 五月 2023 10:34:00 +0800
Subject: [PATCH] 修复推流鉴权

---
 src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
index aeba9ed..efbb24d 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
@@ -7,8 +7,7 @@
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
+import org.springframework.util.DigestUtils;
 
 import java.util.List;
 
@@ -61,11 +60,23 @@
 
     @Override
     public boolean checkPushAuthority(String callId, String sign) {
-        if (ObjectUtils.isEmpty(callId)) {
-            return userMapper.checkPushAuthorityByCallId(sign).size() > 0;
-        }else {
-            return userMapper.checkPushAuthorityByCallIdAndSign(callId, sign).size() > 0;
+
+        List<User> users = userMapper.getUsers();
+        if (users.size() == 0)  {
+            return false;
         }
+        for (User user : users) {
+            if (user.getPushKey() == null) {
+                continue;
+            }
+            String checkStr = callId == null? user.getPushKey():(callId + "_" + user.getPushKey())  ;
+            System.out.println(checkStr);
+            String checkSign = DigestUtils.md5DigestAsHex(checkStr.getBytes());
+            if (checkSign.equals(sign)) {
+                return true;
+            }
+        }
+        return false;
     }
 
     @Override

--
Gitblit v1.8.0