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
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,
});

View file

@ -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();

View file

@ -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');