phpvms/config/laratrust.php
Nabeel S 63b574181a
Check user permissions on the routes #508 (#516)
* Check user permissions on the routes #508

* Formatting
2020-01-30 09:23:31 -05:00

211 lines
6.5 KiB
PHP

<?php
/**
* This file is part of Laratrust,
* a role & permission management solution for Laravel.
*
* @license MIT
*/
return [
/*
|--------------------------------------------------------------------------
| Use MorphMap in relationships between models
|--------------------------------------------------------------------------
|
| If true, the morphMap feature is going to be used. The array values that
| are going to be used are the ones inside the 'user_models' array.
|
*/
'use_morph_map' => false,
/*
|--------------------------------------------------------------------------
| Use cache in the package
|--------------------------------------------------------------------------
|
| Defines if Laratrust will use Laravel's Cache to cache the roles and permissions.
|
*/
'cache' => [
/*
|--------------------------------------------------------------------------
| Use cache in the package
|--------------------------------------------------------------------------
|
| Defines if Laratrust will use Laravel's Cache to cache the roles and permissions.
| NOTE: Currently the database check does not use cache.
|
*/
'enabled' => true,
/*
|--------------------------------------------------------------------------
| Time to store in cache Laratrust's roles and permissions.
|--------------------------------------------------------------------------
|
| Determines the time in SECONDS to store Laratrust's roles and permissions in the cache.
|
*/
'expiration_time' => 3600,
],
/*
|--------------------------------------------------------------------------
| Use teams feature in the package
|--------------------------------------------------------------------------
|
| Defines if Laratrust will use the teams feature.
| Please check the docs to see what you need to do in case you have the package already configured.
|
*/
'use_teams' => false,
/*
|--------------------------------------------------------------------------
| Strict check for roles/permissions inside teams
|--------------------------------------------------------------------------
|
| Determines if a strict check should be done when checking if a role or permission
| is attached inside a team.
| If it's false, when checking a role/permission without specifying the team,
| it will check only if the user has attached that role/permission ignoring the team.
|
*/
'teams_strict_check' => false,
/*
|--------------------------------------------------------------------------
| Laratrust User Models
|--------------------------------------------------------------------------
|
| This is the array that contains the information of the user models.
| This information is used in the add-trait command, and for the roles and
| permissions relationships with the possible user models.
|
| The key in the array is the name of the relationship inside the roles and permissions.
|
*/
'user_models' => [
'users' => 'App\Models\User',
],
/*
|--------------------------------------------------------------------------
| Laratrust Models
|--------------------------------------------------------------------------
|
| These are the models used by Laratrust to define the roles, permissions and teams.
| If you want the Laratrust models to be in a different namespace or
| to have a different name, you can do it here.
|
*/
'models' => [
/*
* Role model
*/
'role' => 'App\Models\Role',
/*
* Permission model
*/
'permission' => 'App\Models\Permission',
/*
* Team model
*/
'team' => 'App\Team',
],
/*
|--------------------------------------------------------------------------
| Laratrust Tables
|--------------------------------------------------------------------------
|
| These are the tables used by Laratrust to store all the authorization data.
|
*/
'tables' => [
/*
* Roles table.
*/
'roles' => 'roles',
/*
* Permissions table.
*/
'permissions' => 'permissions',
/*
* Teams table.
*/
'teams' => 'teams',
/*
* Role - User intermediate table.
*/
'role_user' => 'role_user',
/*
* Permission - User intermediate table.
*/
'permission_user' => 'permission_user',
/*
* Permission - Role intermediate table.
*/
'permission_role' => 'permission_role',
],
'foreign_keys' => [
'user' => 'user_id',
'role' => 'role_id',
'permission' => 'permission_id',
'team' => 'team_id',
],
'middleware' => [
'register' => true,
'handling' => 'redirect',
/**
* Handlers for the unauthorized method in the middlewares.
* The name of the handler must be the same as the handling.
*/
'handlers' => [
/**
* Aborts the execution with a 403 code and allows you to provide the response text
*/
'abort' => [
'code' => 403,
'message' => 'User does not have any of the necessary access rights.',
],
/**
* Redirects the user to the given url.
* If you want to flash a key to the session,
* you can do it by setting the key and the content of the message
* If the message content is empty it won't be added to the redirection.
*/
'redirect' => [
'url' => '/',
'message' => [
'key' => 'flash_notification.message',
'content' => 'User does not have any of the necessary access rights.',
],
],
],
'params' => '/login',
],
/*
|--------------------------------------------------------------------------
| Laratrust Magic 'can' Method
|--------------------------------------------------------------------------
|
| Supported cases for the magic can method (Refer to the docs).
| Available: camel_case|snake_case|kebab_case
|
*/
'magic_can_method_case' => 'kebab_case',
];