acl.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /*
  3. * Test App PHP Based Acl Config File
  4. *
  5. * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
  6. * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
  7. *
  8. * Licensed under The MIT License
  9. * Redistributions of files must retain the above copyright notice.
  10. *
  11. * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
  12. * @link https://cakephp.org CakePHP(tm) Project
  13. * @since 0.10.0
  14. * @license https://opensource.org/licenses/mit-license.php MIT License
  15. */
  16. // -------------------------------------
  17. // Roles
  18. // -------------------------------------
  19. $config['roles'] = [
  20. 'Role/admin' => null,
  21. 'Role/data_acquirer' => null,
  22. 'Role/accounting' => null,
  23. 'Role/database_manager' => null,
  24. 'Role/sales' => null,
  25. 'Role/data_analyst' => 'Role/data_acquirer, Role/database_manager',
  26. 'Role/reports' => 'Role/data_analyst',
  27. // allow inherited roles to be defined as an array or comma separated list
  28. 'Role/manager' => [
  29. 'Role/accounting',
  30. 'Role/sales',
  31. ],
  32. 'Role/accounting_manager' => 'Role/accounting',
  33. // managers
  34. 'User/hardy' => 'Role/accounting_manager, Role/reports',
  35. 'User/stan' => 'Role/manager',
  36. // accountants
  37. 'User/peter' => 'Role/accounting',
  38. 'User/jeff' => 'Role/accounting',
  39. // admins
  40. 'User/jan' => 'Role/admin',
  41. // database
  42. 'User/db_manager_1' => 'Role/database_manager',
  43. 'User/db_manager_2' => 'Role/database_manager',
  44. ];
  45. //-------------------------------------
  46. // Rules
  47. //-------------------------------------
  48. $config['rules']['allow'] = [
  49. '/*' => 'Role/admin',
  50. '/controllers/*/manager_*' => 'Role/manager',
  51. '/controllers/reports/*' => 'Role/sales',
  52. '/controllers/invoices/*' => 'Role/accounting',
  53. '/controllers/invoices/edit' => 'User/db_manager_2',
  54. '/controllers/db/*' => 'Role/database_manager',
  55. '/controllers/*/(add|edit|publish)' => 'User/stan',
  56. '/controllers/users/dashboard' => 'Role/default',
  57. // test for case insensitivity
  58. 'controllers/Forms/NEW' => 'Role/data_acquirer',
  59. ];
  60. $config['rules']['deny'] = [
  61. // accountants and sales should not delete anything
  62. '/controllers/*/delete' => [
  63. 'Role/sales',
  64. 'Role/accounting',
  65. ],
  66. '/controllers/db/drop' => 'User/db_manager_2',
  67. ];