diff options
author | Frederic Guillot <fred@kanboard.net> | 2017-01-29 11:07:42 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2017-01-29 11:07:42 -0500 |
commit | 0371acff89b14b9bdcb03e72fd9637e26e6b517c (patch) | |
tree | f5878c9c07705379d137843cb8f92e3cdf7c20a8 /doc/plugin-authorization-architecture.markdown | |
parent | 3bf4789be255650b64f42231f41383cb13b65572 (diff) |
Move English documentation to folder en_US
Diffstat (limited to 'doc/plugin-authorization-architecture.markdown')
-rw-r--r-- | doc/plugin-authorization-architecture.markdown | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/doc/plugin-authorization-architecture.markdown b/doc/plugin-authorization-architecture.markdown deleted file mode 100644 index 24acee17..00000000 --- a/doc/plugin-authorization-architecture.markdown +++ /dev/null @@ -1,39 +0,0 @@ -Authorization Architecture -========================== - -Kanboard [supports multiple roles](roles.markdown) at the application level and at the project level. - -Authorization Workflow ----------------------- - -For each HTTP request: - -1. Authorize or not access to the resource based on the application access list -2. If the resource is for a project (board, task...): - 1. Fetch user role for this project - 2. Grant/Denied access based on the project access map - -Extending Access Map --------------------- - -The Access List (ACL) is based on the controller class name and the method name. -The list of access is handled by the class `Kanboard\Core\Security\AccessMap`. - -There are two access map: one for the application and another one for projects. - -- Application access map: `$this->applicationAccessMap` -- Project access map: `$this->projectAccessMap` - -Examples to define a new policy from your plugin: - -```php -// All methods of the class MyController: -$this->projectAccessMap->add('MyController', '*', Role::PROJECT_MANAGER); - -// All some methods: -$this->projectAccessMap->add('MyOtherController', array('create', 'save'), Role::PROJECT_MEMBER); -``` - -Roles are defined in the class `Kanboard\Core\Security\Role`. - -The Authorization class (`Kanboard\Core\Security\Authorization`) will check the access for each page. |