isundil 1 tahun lalu
induk
melakukan
ceb4ee42f7
3 mengubah file dengan 9 tambahan dan 25 penghapusan
  1. 1 1
      package.json
  2. 3 3
      src/routerUtils.js
  3. 5 21
      src/security.js

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "craftlabhttpserver",
-  "version": "20240122.4",
+  "version": "20240122.5",
   "description": "",
   "main": "main.js",
   "scripts": {

+ 3 - 3
src/routerUtils.js

@@ -28,11 +28,11 @@ RouterUtils.prototype.requireLogin =function(req, res) {
 
 RouterUtils.prototype.onApiRequest = function(req, res) {
     this.onRequest(req);
-    req.accessList = Security.getAccessList(req.cookies);
-    if (req.accessList === null) {
+    req.sessionObj = Security.getSessionObj(req.cookies);
+    if (req.sessionObj === null) {
         const log = Security.createSession(req);
         res.setHeader("Set-Cookie", Security.SESSION_COOKIE +'='+log.key);
-        req.accessList = log.accessList;
+        req.sessionObj = log.data;
     }
 };
 

+ 5 - 21
src/security.js

@@ -20,7 +20,7 @@ function getSessionObj(cookieObject) {
     if (!sessionEntry || sessionEntry.expire < now)
         return null;
     sessionEntry.expire = now + SESSION_TIME;
-    return sessionEntry;
+    return sessionEntry.data;
 }
 
 function getRequestIp(req) {
@@ -43,32 +43,16 @@ module.exports = {
         let sessionInfos = {
             loginDateTime: now,
             expire: now + SESSION_TIME,
-            accessList: {},
             random: Math.random(),
             userAgent: req.headers['user-agent'],
-            ipAddress: getRequestIp(req)
+            ipAddress: getRequestIp(req),
+            data: {}
         };
         let sessionKey = MD5(JSON.stringify(sessionInfos));
         sessionInfos.sessionId = sessionKey;
         loggedCache[sessionKey] = sessionInfos;
         req.cookies[SESSION_COOKIE] = sessionKey;
-        return { key: sessionKey, accessList: sessionInfos.accessList };
-    },
-    addLinkToSession: (req, linkId) => {
-        let session = getSessionObj(req.cookies);
-        if (!session)
-            return;
-        let accessList = new LinkAccess(linkId);
-        session.accessList[accessList.id()] = accessList;
-        return session.accessList;
-    },
-    removeFromSession: (req, accessId) => {
-        let session = getSessionObj(req.cookies);
-        if (!session)
-            return;
-        delete session.accessList[accessId];
-        return session.accessList;
-    },
-    SESSION_COOKIE: SESSION_COOKIE
+        return { key: sessionKey, data: sessionInfos.data };
+    }
 };