|
9 | 9 | * @license MIT License (http://www.opensource.org/licenses/mit-license.php) |
10 | 10 | */ |
11 | 11 |
|
| 12 | +use Cake\Http\ServerRequest; |
| 13 | +use Cake\Utility\Hash; |
| 14 | + |
12 | 15 | /* |
13 | | - * IMPORTANT: |
14 | | - * This is an example configuration file. Copy this file into your config directory and edit to |
15 | | - * setup your app permissions. |
16 | | - * |
17 | 16 | * This is a quick roles-permissions implementation |
18 | 17 | * Rules are evaluated top-down, first matching rule will apply |
19 | 18 | * Each line define |
|
49 | 48 | ], |
50 | 49 | */ |
51 | 50 |
|
52 | | -return [ |
| 51 | +/* |
| 52 | + * Default permissions |
| 53 | + */ |
| 54 | +$permissions = [ |
53 | 55 | 'CakeDC/Auth.permissions' => [ |
54 | 56 | //RouterOS devices access to configuration script |
55 | 57 | [ |
|
128 | 130 | 'plugin' => null, |
129 | 131 | 'controller' => 'AppUsers', |
130 | 132 | 'action' => 'resetOneTimePasswordAuthenticator', |
131 | | - 'allowed' => function (array $user, $role, \Cake\Http\ServerRequest $request) { |
132 | | - $userId = \Cake\Utility\Hash::get($request->getAttribute('params'), 'pass.0'); |
| 133 | + 'allowed' => function (array $user, $role, ServerRequest $request) { |
| 134 | + $userId = Hash::get($request->getAttribute('params'), 'pass.0'); |
133 | 135 | if (!empty($userId) && !empty($user)) { |
134 | 136 | return $userId === $user['id']; |
135 | 137 | } |
|
290 | 292 | ], |
291 | 293 | ], |
292 | 294 | ]; |
| 295 | + |
| 296 | +/* |
| 297 | + * Load local permissions if exists |
| 298 | + */ |
| 299 | +$localPermissionsFile = CONFIG . 'permissions_local.php'; |
| 300 | +if (file_exists($localPermissionsFile)) { |
| 301 | + $localPermissions = include $localPermissionsFile; |
| 302 | + if (is_array($localPermissions)) { |
| 303 | + // merge permissions - local first in order |
| 304 | + $permissions = array_merge_recursive($localPermissions, $permissions); |
| 305 | + } |
| 306 | +} |
| 307 | + |
| 308 | +return $permissions; |
0 commit comments