Gestion des employés
L'entité Employee (src/Entity/Organization/Employee) est le modèle d'utilisateur du système Doggy, et constitue également le sujet d'authentification de Symfony Security. Le point d'entrée de gestion repose sur EmployeeController et EmployeeApiController.
Aperçu
Le module de gestion des employés couvre l'ensemble du cycle de vie :
- Point de vue RH : gestion des effectifs, intégration des nouveaux arrivants, analyses statistiques
- Point de vue IT : création de comptes, attribution des permissions, configuration des Passkey
- Point de vue manager : gestion d'équipe, relations hiérarchiques, réaffectation du personnel
Structure de l'entité
Employee est l'entité App\Entity\Organization\Employee, et sert également de fournisseur d'utilisateurs Security :
yaml
# config/packages/security.yaml
providers:
app_user_provider:
entity:
class: App\Entity\Organization\EmployeeChamps clés :
isPasswordModifiedByUser: indique si le mot de passe initial a été modifié- Relation un-à-plusieurs avec
WebauthnCredential(passkeys) - L'avatar est géré via
AvatarController
Fonctionnalités principales
Effectif des employés
- Interface d'administration :
templates/employee/list.html.twig - Page de détail :
templates/employee/show.html.twig - Page d'édition :
templates/employee/edit.html.twig - Tiroir d'édition :
templates/employee/edit_drawer.html.twig - Gestion de l'avatar :
templates/employee/_avatar_modal.html.twig
API
La gestion des employés fournit une API RESTful via EmployeeApiController :
http
GET /api/admin/employees # 员工列表
POST /api/admin/employees # 创建员工
GET /api/admin/employees/{id} # 员工详情
PUT /api/admin/employees/{id} # 更新员工
DELETE /api/admin/employees/{id} # 删除员工Processus d'intégration
Lors de la première connexion, le système détecte automatiquement l'état de l'utilisateur via UserSetupListener :
- Vérifie si le mot de passe a été modifié (
isPasswordModifiedByUser) - Vérifie si un Passkey a été enregistré
- Si l'une des étapes n'est pas terminée, redirige vers la page de configuration
Configuration utilisateur
php
// src/EventListener/UserSetupListener.php
// 权限路由白名单: app_user_setup, app_logout
// WebAuthn 和登录路由始终可访问
// 密码未修改或未设置 Passkey 时重定向到设置页Points d'entrée de gestion
- Liste des employés :
App\Controller\EmployeeController - API :
App\Controller\Api\EmployeeApiController - Avatar :
App\Controller\Api\AvatarController