2017-12-16 02:36:13 +08:00
|
|
|
<?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.
|
|
|
|
|
|
|
|
|
*/
|
2019-05-12 23:10:31 +08:00
|
|
|
'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.
|
|
|
|
|
|
|
|
|
*/
|
2019-05-13 00:31:48 +08:00
|
|
|
'enabled' => true,
|
2019-05-12 23:10:31 +08:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| 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,
|
|
|
|
],
|
2017-12-16 02:36:13 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| 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' => [
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Role model
|
|
|
|
*/
|
|
|
|
'role' => 'App\Models\Role',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Permission model
|
|
|
|
*/
|
|
|
|
'permission' => 'App\Models\Permission',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Team model
|
|
|
|
*/
|
|
|
|
'team' => 'App\Team',
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Laratrust Tables
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| These are the tables used by Laratrust to store all the authorization data.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
'tables' => [
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Roles table.
|
|
|
|
*/
|
|
|
|
'roles' => 'roles',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Permissions table.
|
|
|
|
*/
|
|
|
|
'permissions' => 'permissions',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Teams table.
|
|
|
|
*/
|
|
|
|
'teams' => 'teams',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Role - User intermediate table.
|
|
|
|
*/
|
|
|
|
'role_user' => 'role_user',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Permission - User intermediate table.
|
|
|
|
*/
|
|
|
|
'permission_user' => 'permission_user',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Permission - Role intermediate table.
|
|
|
|
*/
|
|
|
|
'permission_role' => 'permission_role',
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Laratrust Foreign Keys
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| These are the foreign keys used by laratrust in the intermediate tables.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
'foreign_keys' => [
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* User foreign key on Laratrust's role_user and permission_user tables.
|
|
|
|
*/
|
|
|
|
'user' => 'user_id',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Role foreign key on Laratrust's role_user and permission_role tables.
|
|
|
|
*/
|
|
|
|
'role' => 'role_id',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Role foreign key on Laratrust's permission_user and permission_role tables.
|
|
|
|
*/
|
|
|
|
'permission' => 'permission_id',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Role foreign key on Laratrust's role_user and permission_user tables.
|
|
|
|
*/
|
|
|
|
'team' => 'team_id',
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Laratrust Middleware
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| This configuration helps to customize the Laratrust middleware behavior.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
'middleware' => [
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Define if the laratrust middleware are registered automatically in the service provider
|
|
|
|
*/
|
|
|
|
'register' => true,
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Method to be called in the middleware return case.
|
|
|
|
* Available: abort|redirect
|
|
|
|
*/
|
|
|
|
'handling' => 'abort',
|
|
|
|
|
2018-08-27 00:40:04 +08:00
|
|
|
/*
|
2017-12-16 02:36:13 +08:00
|
|
|
* Parameter passed to the middleware_handling method
|
|
|
|
*/
|
|
|
|
'params' => '403',
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| 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',
|
|
|
|
];
|