浏览代码

functioning NO_AUTH env

lllllllillllllillll 1 年之前
父节点
当前提交
aacc25cd15
共有 3 个文件被更改,包括 13 次插入7 次删除
  1. 2 3
      controllers/dashboard.js
  2. 11 0
      controllers/login.js
  3. 0 4
      router/index.js

+ 2 - 3
controllers/dashboard.js

@@ -13,14 +13,13 @@ let [ports_data, volumes_data, env_data, label_data] = [[], [], [], []];
 // The page
 export const Dashboard = (req, res) => {
 
-    let name = req.session.user || 'Local';
-    let avatar = name.charAt(0).toUpperCase();
+    let name = req.session.user ;
     let role = req.session.role;
     alert = req.session.alert;
     
     res.render("dashboard", {
         name: name,
-        avatar: avatar,
+        avatar: name.charAt(0).toUpperCase(),
         role: role,
         alert: alert,
     });

+ 11 - 0
controllers/login.js

@@ -1,6 +1,8 @@
 import { User, Syslog } from '../database/models.js';
 import bcrypt from 'bcrypt';
 
+const no_auth = process.env.NO_AUTH || false;
+
 
 export const Login = function(req,res){
     if (req.session.user) { res.redirect("/logout"); }
@@ -8,6 +10,15 @@ export const Login = function(req,res){
 }
 
 export const submitLogin = async function(req,res){
+
+    if (no_auth && req.hostname == 'localhost') { 
+        req.session.user = 'Localhost';
+        req.session.UUID = '';
+        req.session.role = 'admin';
+        res.redirect("/dashboard");
+        return;
+    }
+
     let { email, password } = req.body;
     email = email.toLowerCase();
 

+ 0 - 4
router/index.js

@@ -1,7 +1,6 @@
 import express from "express";
 import { Permission } from '../database/models.js';
 export const router = express.Router();
-const no_auth = process.env.NO_AUTH || false;
 
 // Controllers
 import { Login, submitLogin, Logout } from "../controllers/login.js";
@@ -23,19 +22,16 @@ import { Uninstall } from "../utils/uninstall.js"
 // Permission Middleware
 const adminOnly = async (req, res, next) => {
     if (req.session.role == 'admin') { next(); }
-    else if (no_auth && req.hostname == 'localhost') { next(); }
     else { res.redirect('/dashboard'); }
 }
 
 const sessionCheck = async (req, res, next) => {
     if (req.session.user) { next(); }
-    else if (no_auth && req.hostname == 'localhost') { next(); }
     else { res.redirect('/login'); }
 }
 
 const permissionCheck = async (req, res, next) => {
     if (req.session.role == 'admin') { next(); return; }
-    else if (no_auth && req.hostname == 'localhost') { next(); }
     let user = req.session.user;
     let action = req.path.split("/")[2];
     let trigger = req.header('hx-trigger-name');