jamesmills/laravel-admin

This package is abandoned and no longer maintained. No replacement package was suggested.

A very simple admin panel for managing users, roles & permissions.

1.0.2 2018-06-20 12:24 UTC

This package is auto-updated.

Last update: 2019-11-13 09:54:52 UTC


README

Packagist Packagist

A very simple admin panel for managing users, roles & permissions.

The premise for this package is to eradicate the duplicate work I do for every new Laravel project I setup.

You will get a default user who has the role of admin. You will be able to log into the system with this user and manage all roles and permissions using a simple Bootstrap UI. The default yourapp.local/admin route will be restricted to users with admin role only. You will get a good default to build your application views and backend views separately.

Installation

Note: This package should be run as soon as you have created a new laravel project.

  1. Run
    composer require jamesmills/laravel-admin
    
  2. Install the admin package.
    php artisan laravel-admin:install
    

What this packages does

  • Install the below packages
  • Run a migration
    • Create tables for roles, role_user, permissions, permission_role
  • Create a new user Admin User (admin@domain.com) with the password p455word
  • Publish the Laravel Auth view files using 'php artisan make:auth'
  • Publish some additional view/template files
    • All CRUD view files for users, roles and permissions
    • A dedicated backend template resources/views/templates/backend.blade.php
  • Replace the AuthServiceProvider class with a new version
  • Replace the web routes file with a new version
  • Replaces the User model with a new version so that it has the HasRoles trail reference

Roles & Permissions

  1. Create some roles.
  2. Create some permissions.
  3. Give permission(s) to a role.
  4. Create user(s) with role.
  5. For checking authenticated user's role see below:
    // Check role anywhere
    if (auth()->check() && auth()->user()->hasRole('admin')) {
        // Do admin stuff here
    }
  6. For checking permissions see below:
    if ($user->can('permission-name')) {
        // Do something
    }

Learn more about ACL from here

Acknowledgements

The origin of this package is a fork from appzcoder/laravel-admin by Sohel Amin.

Note: I cloned the original project and created this so that I could remove the CRUD stuff.