Refacto : on ne verifie plus le role admin mais les permissions du role

This commit is contained in:
2025-05-25 21:56:07 +02:00
parent 851b891a8a
commit 82d77e2b8d
10 changed files with 228 additions and 289 deletions

View File

@ -5,13 +5,12 @@ import 'package:em2rp/views/login_page.dart';
class AuthGuard extends StatelessWidget {
final Widget child;
final String?
requiredRole; // Si non null, la page est réservée à ce rôle (ex: "ADMIN")
final String? requiredPermission;
const AuthGuard({
super.key,
required this.child,
this.requiredRole,
this.requiredPermission,
});
@override
@ -20,13 +19,12 @@ class AuthGuard extends StatelessWidget {
// Si l'utilisateur n'est pas connecté
if (localAuthProvider.currentUser == null) {
// Retourne la page de connexion.
// Vous pouvez aussi déclencher une redirection automatique si nécessaire.
return const LoginPage();
}
// Si la page requiert un rôle spécifique et que l'utilisateur ne le possède pas
if (requiredRole != null && localAuthProvider.role != requiredRole) {
// Si la page requiert une permission spécifique et que l'utilisateur ne la possède pas
if (requiredPermission != null &&
!localAuthProvider.hasPermission(requiredPermission!)) {
return Scaffold(
appBar: AppBar(title: const Text("Accès refusé")),
body: const Center(

View File

@ -1,3 +0,0 @@
class Constants {
static const List<String> userRoles = ['USER', 'ADMIN'];
}