fxp/security-bundle

A Extended Role-Based Access Control with sharing rules

Installs: 390

Dependents: 0

Suggesters: 0

Stars: 21

Watchers: 5

Forks: 4

Open Issues: 1

Type:symfony-bundle

v1.1.0 2018-12-02 20:27 UTC

README

Latest Version Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight

The Fxp SecurityBundle is a Extended Role-Based Access Control (E-RBAC) including the management of roles, role hierarchy, groups, and permissions with a granularity ranging from global permission to permission for each field of each object. With the sharing rules, it's possible to define users, groups, roles or permissions for each record of an object. In this way, a user can get more permissions due to the context defined by the sharing rule.

Features include:

  • All features of Fxp Security
  • Configurator of all Fxp Security features
  • Override the security access control config to allow to use custom expression language functions defined with the tag security.expression_language_provider in allow_if option (expressions are compiled on cache compilation)
  • Compiler pass to inject service dependencies of custom expression function providers in variables of expression voter
  • @Security annotation compatible with custom expression functions and variables
  • Security factory for host role
  • Compiler pass for object filter voters

Documentation

The bulk of the documentation is stored in the Resources/doc/index.md file in this bundle:

Read the Documentation

Installation

All the installation instructions are located in documentation.

License

This bundle is under the MIT license. See the complete license in the bundle:

LICENSE

About

Fxp SecurityBundle is a François Pluchino initiative. See also the list of contributors.

Reporting an issue or a feature request

Issues and feature requests are tracked in the Github issue tracker.

When reporting a bug, it may be a good idea to reproduce it in a basic project built using the Symfony Standard Edition to allow developers of the bundle to reproduce the issue by simply cloning it and following some steps.