https://github.com/b13/permission-sets
TYPO3 Extension to configure user permissions based on deployable files
https://github.com/b13/permission-sets
Last synced: over 1 year ago
JSON representation
TYPO3 Extension to configure user permissions based on deployable files
- Host: GitHub
- URL: https://github.com/b13/permission-sets
- Owner: b13
- License: gpl-2.0
- Created: 2022-07-05T19:53:34.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-27T13:37:41.000Z (over 1 year ago)
- Last Synced: 2025-04-05T18:11:39.483Z (over 1 year ago)
- Language: PHP
- Size: 41 KB
- Stars: 25
- Watchers: 15
- Forks: 10
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Repeatable and deployable Permission Sets for TYPO3
*** Please note that this extension is still in testing phase ***
This extension allows to attach a set of permissions to TYPO3 Backend UserGroups
based on files.
These sets of permissions are put in files and can be stored on a per-project
basis or in extensions.
Currently, the only supported configuration file for permission sets
is YAML.
This extension works with TYPO3 v11+.
## Installation
You can install this extension by using composer:
composer req b13/permission-sets
## Location of permission set resources
* `config/permission-sets/*.yaml`
* `EXT:my-extension/Configuration/PermissionSets/*.yaml`
## Permission sets in backend usergroups
Available permission sets are selectable in the _Permission Sets_ field when editing backend usergroups.
All configuration from the selected permission sets is loaded and appended to the related backend usergroup fields.
## Available options in a Permission Set
### Module Access
Give access to a module, or to all modules of a main module.
```
modules:
# enable access to a specific module
web_info: true
# enable access to all submodules of a module
web: "*"
```
### TCA-related settings
Enable access to TCA tables
```
resources:
pages:
fields: "*"
types: "*"
tt_content:
fields: "*"
types: ["textpic"]
```
Special options:
* `_languageFields`
* `_types`
* `_starttime`
### Languages
```
# Allow any locale (used from site configuration)
languages: ["de-DE", "en-UK"]
```
### Dashboard Widgets
```
widgets: ['*']
widgets:
- 'sysLogErrors'
- 't3news'
```
### MFA Providers
```
mfa_providers: ['*']
mfa_providers:
- 'totp'
- 'recovery-codes'
```
### File Permissions
```
files:
# file-related permissions
- readFile
- writeFile
- addFile
- renameFile
- replaceFile
- moveFile
- copyFile
- deleteFile
# folder-related permissions
- readFolder
- writeFolder
- addFolder
- renameFolder
- moveFolder
- copyFolder
- deleteFolder
- recursiveDeleteFolder
```
### Sites
```
sites:
# Grant Permissions to the DB mounts of a specific site
- main
- landingpage1
# Grant permission to a specific page within the installation
- 13
```
### UserTsConfig
UserTsConfig is merged automatically with the users' / user group
configuration.
```
settings:
options:
createFoldersInEB: true
TCEMAIN:
clearCache: all
```
## ToDo
* Extensive tests
* Add default permission sets as examples
* Enhance documentation
## License
The extension is licensed under GPL v2+, same as the TYPO3 Core. For details see the LICENSE file in this repository.
## Open Issues
If you find an issue, feel free to create an issue on GitHub or a pull request.
## Credits
This extension was created by [Benni Mack](https://github.com/bmack) in 2021 for [b13 GmbH](https://b13.com).
[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.