refactor: groups simplified to users + admins only
This commit is contained in:
parent
1849c65c68
commit
03ae910b3f
6 changed files with 21 additions and 83 deletions
|
|
@ -1,5 +1,14 @@
|
|||
# Changelog
|
||||
|
||||
## 0.1.0.0037 — 2026-07-11
|
||||
|
||||
### Changed
|
||||
- Simplified groups model: per-app groups (`drive`, `office`, `chat`, etc.) replaced with `users` + `admins` only
|
||||
- `config/authelia/configuration.yml` — access_control rules reduced from 12 rules to 4
|
||||
- `config/authelia/users_database.yml` — master user groups simplified to `admins`, `users`
|
||||
- `config/nextworkspace/apps.yaml` — all user-facing apps use `groups: ["users"]`
|
||||
- Admin panel user creation form — 9 checkboxes replaced with 2 (User + Admin)
|
||||
|
||||
## 0.1.0.0036 — 2026-07-11
|
||||
|
||||
### Fixed
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.1.0.0036
|
||||
0.1.0.0037
|
||||
|
|
|
|||
|
|
@ -33,64 +33,7 @@ access_control:
|
|||
- "group:admins"
|
||||
policy: one_factor
|
||||
|
||||
# App paths — group-restricted
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/drive(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:drive"
|
||||
policy: one_factor
|
||||
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/office(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:office"
|
||||
policy: one_factor
|
||||
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/enterprise(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:erp"
|
||||
policy: one_factor
|
||||
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/chat(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:chat"
|
||||
policy: one_factor
|
||||
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/meet(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:meet"
|
||||
policy: one_factor
|
||||
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/connect(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:mail"
|
||||
policy: one_factor
|
||||
|
||||
- domain: "app.{DOMAIN}"
|
||||
resources:
|
||||
- "^/aida(/.*)?$"
|
||||
subject:
|
||||
- "group:admins"
|
||||
- "group:ai"
|
||||
policy: one_factor
|
||||
|
||||
# Home/launcher — any authenticated user
|
||||
# Everything else — any authenticated user
|
||||
- domain: "app.{DOMAIN}"
|
||||
policy: one_factor
|
||||
|
||||
|
|
|
|||
|
|
@ -7,10 +7,3 @@ users:
|
|||
groups:
|
||||
- admins
|
||||
- users
|
||||
- drive
|
||||
- office
|
||||
- erp
|
||||
- chat
|
||||
- meet
|
||||
- mail
|
||||
- ai
|
||||
|
|
|
|||
|
|
@ -9,43 +9,43 @@ apps:
|
|||
path: "/drive"
|
||||
upstream: "http://127.0.0.1:9100"
|
||||
icon: "cloud"
|
||||
groups: ["drive", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "Euro Office"
|
||||
subtitle: "Collaborative Suite"
|
||||
path: "/office"
|
||||
upstream: "http://127.0.0.1:9200"
|
||||
icon: "office"
|
||||
groups: ["office", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "ERPNext"
|
||||
subtitle: "Enterprise ERP"
|
||||
path: "/enterprise"
|
||||
upstream: "http://127.0.0.1:9300"
|
||||
icon: "erp"
|
||||
groups: ["erp", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "Matrix Chat"
|
||||
subtitle: "Team Communication"
|
||||
path: "/chat"
|
||||
upstream: "http://127.0.0.1:9400"
|
||||
icon: "chat"
|
||||
groups: ["chat", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "Jitsi"
|
||||
subtitle: "Video Conferencing"
|
||||
path: "/meet"
|
||||
upstream: "http://127.0.0.1:9500"
|
||||
icon: "meet"
|
||||
groups: ["meet", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "Webmail"
|
||||
subtitle: "Email Client"
|
||||
path: "/connect"
|
||||
upstream: "http://127.0.0.1:9600"
|
||||
icon: "mail"
|
||||
groups: ["mail", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "AI Chat"
|
||||
subtitle: "Open WebUI"
|
||||
path: "/aida"
|
||||
upstream: "http://127.0.0.1:9700"
|
||||
icon: "ai"
|
||||
groups: ["ai", "admins"]
|
||||
groups: ["users"]
|
||||
- name: "Portainer"
|
||||
subtitle: "Container Management"
|
||||
path: "/admin"
|
||||
|
|
|
|||
13
main.go
13
main.go
|
|
@ -1445,16 +1445,9 @@ const adminHTML = `<!DOCTYPE html>
|
|||
<div class="field"><label>Display Name</label><input type="text" name="display_name" required></div>
|
||||
<div class="field"><label>Email</label><input type="email" name="email" required></div>
|
||||
<div class="field"><label>Groups</label>
|
||||
<div style="display:grid;grid-template-columns:repeat(3,1fr);gap:0.4rem;">
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="users" checked> Users</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="drive"> Drive</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="office"> Office</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="erp"> ERP</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="chat"> Chat</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="meet"> Meet</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="mail"> Mail</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="ai"> AI</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="admins"> Admin</label>
|
||||
<div class="checkbox-group">
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="users" checked> User (access to all apps)</label>
|
||||
<label style="font-size:0.9rem;display:flex;align-items:center;gap:0.3rem;"><input type="checkbox" name="groups" value="admins"> Admin (access to config panel)</label>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display:flex;gap:0.75rem;margin-top:1.5rem;">
|
||||
|
|
|
|||
Loading…
Reference in a new issue