Download the PHP package mgomezbuceta/cakephp-aclmanager without Composer

On this page you can find all versions of the php package mgomezbuceta/cakephp-aclmanager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cakephp-aclmanager

# πŸ” CakePHP Authorization Manager ### Modern Role-Based Permission Management for CakePHP 5.x [![Latest Version](https://img.shields.io/packagist/v/mgomezbuceta/cakephp-aclmanager.svg?style=flat-square)](https://packagist.org/packages/mgomezbuceta/cakephp-aclmanager) [![PHP Version](https://img.shields.io/packagist/php-v/mgomezbuceta/cakephp-aclmanager.svg?style=flat-square)](https://packagist.org/packages/mgomezbuceta/cakephp-aclmanager) [![License](https://img.shields.io/packagist/l/mgomezbuceta/cakephp-aclmanager.svg?style=flat-square)](LICENSE.md) [![Downloads](https://img.shields.io/packagist/dt/mgomezbuceta/cakephp-aclmanager.svg?style=flat-square)](https://packagist.org/packages/mgomezbuceta/cakephp-aclmanager) **A powerful, modern web interface for managing role-based permissions using CakePHP's Authorization plugin.** [Features](#-features) β€’ [Installation](#-installation) β€’ [Quick Start](#-quick-start) β€’ [Documentation](#-documentation) β€’ [Migration](#-migration-from-v2x) ---

🌟 Features

### 🎯 **Role-Based Access Control** Simple yet powerful RBAC system with role priorities and hierarchical permission management. ### πŸ”„ **Auto-Discovery** Automatically scans your application for controllers and actionsβ€”no manual configuration needed. ### 🎨 **Modern UI** Beautiful Bootstrap 5 interface with intuitive permission matrices and visual role management. ### 🌍 **Multilingual Support** Built-in i18n support with Spanish and Galician translations ready to use. ### ⚑ **High Performance** Built on CakePHP's Authorization plugin with permission caching for optimal performance. ### πŸ›‘οΈ **Secure by Default** Strict permission checking mode with comprehensive authorization middleware integration. ### πŸš€ **CakePHP 5.x Native** Fully compatible with CakePHP 5.x using modern Authorization instead of deprecated ACL.

πŸ’‘ Why Authorization Manager?

Traditional ACL systems (acos/aros) are deprecated in CakePHP 5.x. This plugin provides:


πŸ“‹ Requirements

Requirement Version
PHP β‰₯ 8.1
CakePHP β‰₯ 5.0
CakePHP Authorization β‰₯ 3.0

πŸš€ Installation

Step 1: Install via Composer

Step 2: Load the Plugin

Add to your src/Application.php:

Step 3: Run Migrations

Step 4: Sync Resources

Visit /authorization-manager and click "Sync Resources" to discover all your controllers and actions.

That's it! πŸŽ‰


⚑ Quick Start

Basic Setup

  1. Create Roles

    • Visit /authorization-manager/roles
    • Click "New Role"
    • Create roles like: Administrator, Editor, Viewer
  2. Assign Permissions

    • Click "Manage Permissions" for a role
    • Check/uncheck permissions for each controller/action
    • Click "Save Permissions"
  3. Integrate with Your Auth

Add role_id to Your Users Table


πŸ“š Documentation

πŸ”§ Configuration Options ### Admin Access Control **IMPORTANT**: By default, only administrators can access the Authorization Manager. The plugin checks if the user is an admin using multiple methods (in order): 1. **role_name**: Checks if `role_name` is 'admin', 'administrator', or 'superadmin' 2. **role_id**: Checks if `role_id == 1` (typically admin role) 3. **is_admin**: Checks if `is_admin` flag is true 4. **email**: Checks against a whitelist of admin emails **To customize admin access**, add to your `config/app.php` in the return array: ### Session Timeout and Redirect When a user's session expires while using the Authorization Manager, they will be redirected to the login page with a `redirect` parameter containing the original URL. **To handle the redirect in your login controller**, add this code after successful authentication: This ensures users are returned to the Authorization Manager page they were viewing after logging in. ### Internationalization (i18n) The plugin comes with **Spanish (es_ES)** and **Galician (gl_ES)** translations out of the box. **To change the language**, add to your `config/bootstrap.php`: **To add your own translation:** 1. Create `resources/locales/{locale}/acl_manager.po` in your app 2. Copy entries from `vendor/mgomezbuceta/cakephp-aclmanager/resources/locales/es_ES/acl_manager.po` 3. Translate the `msgstr` values 4. Run `bin/cake i18n extract --plugin AclManager` to update ### Other Configuration Options In your `config/bootstrap.php`:
πŸ—„οΈ Database Schema The plugin creates three tables: **roles** - User roles **permissions** - Role permissions **resources** - Available resources (auto-discovered)
πŸ”Œ Component Usage
🎯 Service Layer
πŸ› Troubleshooting **No resources showing?** **Permission changes not taking effect?** **Getting "access denied" after setup?**

πŸ”„ Migration from v2.x

⚠️ BREAKING CHANGE: Version 3.0 uses Authorization plugin instead of deprecated ACL.

Migration Steps:

  1. Backup your data

  2. Update composer.json

  3. Run new migrations

  4. Update routes

    • Old: /acl-manager
    • New: /authorization-manager
  5. Update component

  6. Rebuild permissions
    • Create new roles matching your old ARO structure
    • Use "Sync Resources" to discover controllers
    • Manually assign permissions (old ACL data cannot be migrated)

πŸ—οΈ Architecture


🀝 Contributing

Contributions are welcome!

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’» Write clean, documented code following PSR-12
  4. βœ… Add tests for new functionality
  5. πŸ“ Commit your changes (git commit -m 'Add amazing feature')
  6. πŸš€ Push to the branch (git push origin feature/amazing-feature)
  7. πŸŽ‰ Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see LICENSE.md for details.


πŸ‘¨β€πŸ’» Author

**Marcos GΓ³mez Buceta** [![GitHub](https://img.shields.io/badge/GitHub-mgomezbuceta-181717?style=flat-square&logo=github)](https://github.com/mgomezbuceta) [![Email](https://img.shields.io/badge/Email-mgomezbuceta%40gmail.com-EA4335?style=flat-square&logo=gmail&logoColor=white)](mailto:[email protected])

πŸ™ Acknowledgments

This project evolved from the excellent ACL Manager foundation:

Special thanks to the CakePHP community for their continuous support.


**⭐ If you find this plugin useful, please give it a star! ⭐** Made with ❀️ for the CakePHP community [Report Bug](https://github.com/mgomezbuceta/cakephp-aclmanager/issues) β€’ [Request Feature](https://github.com/mgomezbuceta/cakephp-aclmanager/issues)

All versions of cakephp-aclmanager with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
cakephp/cakephp Version ^5.0
cakephp/authorization Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mgomezbuceta/cakephp-aclmanager contains the following files

Loading the files please wait ...