Gestion des Utilisateurs
Gérer les utilisateurs et permissions dans CSWeb.
Prochaine version : Admin Panel React avec interface moderne à venir. Actuellement : gestion via CSWeb vanilla UI.
Accès Admin
Login CSWeb
URL : http://localhost:8080 (opens in a new tab)
Identifiants par défaut :
- Username:
admin - Password:
admin123
Créer Utilisateur
Via Interface CSWeb
- Login admin
- Administration → Users
- Add New User
- Remplir formulaire :
- Username
- Password
- Role
Via SQL (Avancé)
-- Insérer utilisateur
INSERT INTO users (username, password, email, role)
VALUES ('api_user', 'hashed_password', 'api@example.com', 'API');Note : Hash password avec password_hash() PHP.
Rôles
CSWeb repose sur deux rôles de base, auxquels s'ajoutent des permissions granulaires attribuables individuellement.
Rôles de base
| Rôle | Identifiant interne | Permissions |
|---|---|---|
| Administrator | ROLE_ADMIN | Accès complet (utilisateurs, dictionnaires, configuration, rôles) |
| Standard User | ROLE_STANDARD_USER | Accès aux applications et aux données selon les permissions accordées |
Permissions granulaires
Chaque rôle se compose de permissions activables séparément depuis Administration → Roles :
| Permission | Portée |
|---|---|
ROLE_APPS_ALL | Applications (déploiement, téléchargement, mise à jour) |
ROLE_DATA_ALL | Données et cases |
ROLE_USERS_ALL | Gestion des utilisateurs |
ROLE_ROLES_ALL | Gestion des rôles |
ROLE_SETTINGS_ALL | Paramètres du serveur |
ROLE_DASHBOARD_ALL | Tableau de bord |
ROLE_REPORTS_ALL | Rapports |
ROLE_LOGS_ALL | Journaux applicatifs |
ROLE_BACKUP_ALL | Sauvegarde et restauration |
8.1 uniquement — CSWeb 8.1 revoit le système de rôles pour offrir un contrôle plus granulaire, et introduit un rôle Developer dédié au déploiement d'applications. Le rôle Standard User y perd le droit de créer des packages de déploiement : il peut toujours télécharger et mettre à jour des applications, mais le déploiement passe désormais par le rôle Developer.
Si vous exploitez des rôles personnalisés en 8.0, auditez-les avant tout passage en 8.1 — voir Choisir 8.0 ou 8.1.
Reset Password
Via Interface
- Administration → Users
- Sélectionner utilisateur
- Edit → Change Password
Via CLI
php bin/console security:encode-password newpassword
# Copier hash généré
# Update SQL
UPDATE users SET password = 'HASH' WHERE username = 'admin';OAuth2 Users
Créer User API
Utilisateurs pour API OAuth2 :
INSERT INTO users (username, password, email, role)
VALUES ('api_external', 'hashed_pass', 'external@example.com', 'API');Test Authentification
curl -X POST http://localhost:8080/api/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password" \
-d "username=api_external" \
-d "password=actual_password"Désactiver Utilisateur
Soft Delete
UPDATE users SET enabled = 0 WHERE username = 'old_user';Hard Delete
DELETE FROM users WHERE username = 'old_user';Sécurité
Password Policy
Exigences recommandées :
- Minimum 8 caractères
- Majuscules + minuscules
- Au moins 1 chiffre
- Au moins 1 caractère spécial
2FA (v2.1 Planifié)
À venir : Two-factor authentication via TOTP.
Audit Logs
Tracking Connexions
-- Dernières connexions
SELECT username, last_login
FROM users
ORDER BY last_login DESC
LIMIT 10;Failed Login Attempts
Configuration dans security.yaml :
security:
firewalls:
main:
failure_handler: app.authentication.failure_handler