This package allows you to manage user permissions and roles in a database and Authentication and Authorization
- Custom RBAC user based roles and permissions package
- Custom RBAC provides flexibility to use Laravel/Passport in a manner of minutes.
composer require zainburfat/rbac
php artisan migrate
php artisan passport:install
use HasApiTokens
use UserPermissionTrait
To exclude some methods/class from creating permissions of them just add "@exclude-permission" in the docs block of class/method you want to exclude.
/**
*...
*@exclude-permission
*...
*/
class SomeController extends Controller
{
/**
*...
*@exclude-permission
*...
*/
public function index()
{
...
}
}
php artisan create:permission
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
php artisan vendor:publish --tag=custom-rbac
'tokensExpireIn' => now()->addDays(15),
'refreshTokensExpireIn' => now()->addDays(30),
'personalAccessTokensExpireIn' => now()->addMonths(6)
Use PermissionsApi middleware to authorize user to specific Api route and for web routes use PermissionsWeb middleware
app/http/kernel.php under protected $routeMiddleware:
'permissionsApi' => \Zainburfat\Rbac\Middleware\PermissionsApi::class,
'permissionsWeb' => \Zainburfat\Rbac\Middleware\PermissionsWeb::class,
For Login use paramenters ('email', 'passport')
For Register use paramenters ('name', 'email', 'passport')
http://yourdomain/rbac_login
http://yourdomain/rbac_register