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
| Rôle | Permissions |
|---|---|
| Administrator | Accès complet (users, dictionaries, config) |
| API | Accès API OAuth2 uniquement |
| Readonly | Lecture seule (cases, reports) |
| Supervisor | Vérification cases, pas de modification config |
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