Le système de gestion des autorisations le plus simplifié, développé sur la base de Laravel5.5. Veuillez passer à any54
branche 54 pour la version Laravel5.4.
Any
est le nouveau module backend de gestion le plus simplifié, comprenant le contrôle d'autorisation le plus simple. Lorsque j'ai écrit le système d'autorisation pour la première fois, j'ai lu le code source écrit par un étranger. Sur la base de son code, j'ai écrit un backend basé sur Laravel5.2 IAdmin
. Il s'agit du système d'autorisation d'origine. Pour un usage public, toutes les autorisations sont écrites dans le fichier de configuration.
iDashboard
optimise les idées de conception et la structure du code basées sur IAdmin
et lie les autorisations aux noms de routage. Un middleware peut déterminer les autorisations de tous les contrôleurs. Développé sur la base de Laravel 5.3, la seule optimisation consiste à lier les autorisations et les alias de routage, afin que le code puisse être utilisé directement après son écriture. Cependant, le problème du trop grand nombre de fichiers de configuration n’a pas été résolu.
Any
est un projet reconstruit sur la base de l'expérience iDashboard
. Le contrôle des autorisations dans les versions précédentes doit être défini par vous-même. Existe-t-il un moyen de générer et d'évaluer automatiquement les autorisations comme l'ACL ? Cela réduit considérablement le besoin de définir des autorisations et des configurations. Any
est né.
Le principe principal d' Any
est d'obtenir le contrôleur (contrôleur) et la méthode (méthode) actuellement consultés en fonction de l'itinéraire visité par l'utilisateur. Le contrôleur ajoute la méthode pour générer une valeur d'autorisation unique. Le middleware jugera quand un utilisateur accède à un. certaine méthode. Si vous êtes un super administrateur, même si vous ne disposez pas de cette autorisation, l'autorisation sera automatiquement accordée au rôle de super administrateur. Afin d'éviter trop de requêtes middleware, une copie de toutes les autorisations de l'utilisateur actuel sera mise en cache une fois que l'utilisateur se sera connecté avec succès. Lors de l'évaluation des autorisations, elles sont directement obtenues à partir du cache. Toute mise à jour des autorisations de n'importe quel rôle. mettra à jour le cache. De plus, de nombreuses optimisations ont été apportées au code.
Ce ne sont que le début des fonctions de base, j'espère avoir plus d'inspiration
Téléchargez localement le code de ce projet :
git clone https://github.com/lanceWan/any.git
Entrez le projet et installez composer
:
cd any
composer install
Fichier de configuration .env
:
[sudo]cp .env.example .env
Attention aux autorisations d'exécution sous Linux et Mac !
Configurez la base de données :
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Migrer les données :
php artisan migrate --seed
OK, le projet a été configuré. Visitez simplement la page d'accueil et connectez-vous. Si vous ne connaissez pas l'itinéraire, vous pouvez accéder directement au fichier routes/web.php
. Compte administrateur par défaut : iwanli
, mot de passe : 123456
. Si vous le configurez sous Linux
ou Mac
, faites attention aux permissions des répertoires concernés, je n'entrerai pas dans les détails ici, profitez-en !
Le développement d' Any
est indissociable des retours et suggestions de chacun. Si vous avez des idées, vous pouvez les soumettre directement sur https://github.com/lanceWan/any/issues Merci.
Groupe d'échange d'apprentissage Laravel : 312621686