El sistema de gestión de permisos más simplificado, desarrollado en base a Laravel5.5. Cambie a la rama any54
para la versión Laravel5.4.
Any
es un módulo backend de administración nuevo y simplificado, que incluye el control de permisos más simple. Cuando escribí por primera vez el sistema de permisos, leí el código fuente escrito por un extranjero. Basado en su código, escribí un backend basado en Laravel5.2 IAdmin
. Este es el sistema de permisos original para uso público, todos los permisos están escritos en el archivo de configuración.
iDashboard
optimiza las ideas de diseño y la estructura del código según IAdmin
y vincula los permisos a los nombres de enrutamiento. Un middleware puede determinar los permisos de todos los controladores. Desarrollado en base a Laravel 5.3, la única optimización es vincular permisos y alias de enrutamiento, de modo que el código se pueda usar directamente después de escribirlo. Sin embargo, el problema de demasiados archivos de configuración no se ha resuelto.
Any
es un proyecto reconstruido basado en la experiencia iDashboard
. El control de permisos en versiones anteriores debe ser definido por usted mismo. ¿Existe alguna manera de generar y juzgar automáticamente permisos como ACL? Esto reduce en gran medida la necesidad de definir permisos y configuraciones. Any
nació.
El principio fundamental de Any
es obtener el controlador (controlador) y el método (método) al que se accede actualmente en función de la ruta visitada por el usuario. El controlador agrega el método para generar un valor de permiso único. cierto método. Si es superadministrador, incluso si no tiene este permiso, el permiso se otorgará automáticamente a la función de superadministrador. Para evitar demasiadas consultas de middleware, se almacenará en caché una copia de todos los permisos del usuario actual después de que el usuario inicie sesión correctamente. Al juzgar los permisos, se obtienen directamente del caché. Cualquier actualización de los permisos de cualquier rol. actualizará el caché. Además, se han realizado muchas optimizaciones en el código.
Estas son solo el comienzo de las funciones básicas, espero obtener más inspiración.
Descargue el código de este proyecto localmente:
git clone https://github.com/lanceWan/any.git
Ingrese al proyecto e instale composer
:
cd any
composer install
Archivo .env
de configuración:
[sudo]cp .env.example .env
¡Preste atención a los permisos de ejecución en Linux y Mac!
Configurar la base de datos:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Migrar datos:
php artisan migrate --seed
Bien, el proyecto ha sido configurado. Simplemente visite la página de inicio e inicie sesión. Si no conoce la ruta, puede ir directamente al archivo routes/web.php
. Cuenta de administrador predeterminada: iwanli
, contraseña: 123456
. Si lo configura en Linux
o Mac
, preste atención a los permisos de los directorios relevantes. No entraré en detalles aquí, ¡disfrútelo!
El desarrollo de Any
es inseparable de los comentarios y sugerencias de todos. Si tiene alguna idea, puede enviarla directamente a https://github.com/lanceWan/any/issues.
Grupo de intercambio de aprendizaje de Laravel: 312621686