acl.php 2.3 KB

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