functioning NO_AUTH env

This commit is contained in:
lllllllillllllillll 2024-06-20 01:00:48 -07:00
parent 6c15c28c2e
commit aacc25cd15
3 changed files with 13 additions and 7 deletions

View file

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

View file

@ -1,6 +1,8 @@
import { User, Syslog } from '../database/models.js'; import { User, Syslog } from '../database/models.js';
import bcrypt from 'bcrypt'; import bcrypt from 'bcrypt';
const no_auth = process.env.NO_AUTH || false;
export const Login = function(req,res){ export const Login = function(req,res){
if (req.session.user) { res.redirect("/logout"); } if (req.session.user) { res.redirect("/logout"); }
@ -8,6 +10,15 @@ export const Login = function(req,res){
} }
export const submitLogin = async 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; let { email, password } = req.body;
email = email.toLowerCase(); email = email.toLowerCase();

View file

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