Add login-required user management (admin/user roles, Config->Benutzer)

No self-signup: admins create every account in Config -> Benutzer with a
typed start password; a forced password change gates first use. Session-
cookie auth protects all /api/* routes; /api/users additionally requires
the admin role. See docs/authentication.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Grovy311 2026-09-28 19:51:47 +02:00
parent b50c00c0ac
commit c56cfb30ad
36 changed files with 4928 additions and 38 deletions

View file

@ -0,0 +1,16 @@
import { Router } from "express";
import {
changePassword,
getAuthStatus,
getMe,
login,
logout,
} from "../controllers/auth.controller.js";
export const authRouter = Router();
authRouter.get("/status", getAuthStatus);
authRouter.post("/login", login);
authRouter.get("/me", getMe);
authRouter.post("/change-password", changePassword);
authRouter.post("/logout", logout);

View file

@ -0,0 +1,16 @@
import { Router } from "express";
import { requireRole } from "../auth/auth.middleware.js";
import {
createUser,
listUsers,
resetUserPassword,
updateUser,
} from "../controllers/user.controller.js";
export const userRouter = Router();
userRouter.use(requireRole("admin"));
userRouter.get("/", listUsers);
userRouter.post("/", createUser);
userRouter.patch("/:userId", updateUser);
userRouter.post("/:userId/reset-password", resetUserPassword);