Download the PHP package sajjadhossainshohag/laravel-permission-scanner without Composer
On this page you can find all versions of the php package sajjadhossainshohag/laravel-permission-scanner. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sajjadhossainshohag/laravel-permission-scanner
More information about sajjadhossainshohag/laravel-permission-scanner
Files in sajjadhossainshohag/laravel-permission-scanner
Package laravel-permission-scanner
Short Description Permission Scanner Tool is a scans your application for @can, @canany, and permission middleware usage in controllers, routes, and Blade views. It helps developers analyze and manage role-based access control (RBAC) by extracting all permission-related directives efficiently.
License MIT
Informations about the package laravel-permission-scanner
Laravel Permission Scanner
The Laravel Permission Scanner helps you manage role-based access control in your Laravel application by scanning for the usage of @can
, @canany
, and permission middleware in controllers, routes, and Blade views. It provides an easy way to analyze and track permission-related directives across your app.
Note: Laravel Permission Scanner is currently in beta version.
Features
- Scans PHP files for
@can
,@canany
,middleware
,Gate
, and permission methods - Detects permission usage in:
- Controllers
- Routes
- Blade views
- Middleware
- Analyzes permissions using AST parsing
- Generates permission seeders automatically
- Provides detailed results of found permissions across files
- Supports debugging with detailed file and permission output
Requirements
- PHP 8.1 or higher
- Laravel 8.0 or higher
Installation
Install the package via Composer:
Configuration
Publish the configuration file:
This will create a config/scanner.php
file where you can customize the scan paths:
Usage
Basic Scanning
Run the command to scan your application:
This will display all found permissions in your application.
Generate Permission Seeder
To automatically generate a seeder file with found permissions:
This will create a new seeder file in database/seeders
with all discovered permissions.
Example output:
What It Scans For
The scanner detects permissions in:
-
Blade Directives:
@can('permission-name')
@canany(['permission-1', 'permission-2'])
-
Controller Methods:
$this->authorize('permission-name')
Gate::allows('permission-name')
-
Route Definitions:
->middleware('can:permission-name')
->middleware('permission:permission-name')
- Policy Methods:
- Permission-related method names and checks
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Development
License
This package is open-source software licensed under the MIT license.
Credits
This package is open-source software licensed under the MIT license.
All versions of laravel-permission-scanner with dependencies
nikic/php-parser Version *
laravel/pint Version ^1.0