Download the PHP package dotkernel/dot-rbac without Composer

On this page you can find all versions of the php package dotkernel/dot-rbac. 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 dot-rbac

dot-rbac

Rbac authorization model implements dot-authorization's AuthorizationInterface. An authorization service is responsible for deciding if the authenticated identity or guest has access to certain parts of the application.

The RBAC model defines roles that can be assigned to users. The authorization is done on a role basis, not user basis as in ACL. Each role can have one or multiple permissions/privileges assigned. When deciding if a user is authorized, the requested permission is checked in all user roles and if at least one role has that permission, access is granted.

OSS Lifecycle PHP from Packagist (specify version)

GitHub issues GitHub forks GitHub stars GitHub license

Build Static codecov

SymfonyInsight

Installation

Run the following command in your project root directory

Configuration

Even if the authorization service can be programmatically configured, we recommend using the configuration based approach. We further describe how to configure the module, using configuration file.

First of all, you should enable the module in your application by merging this package's ConfigProvider with your application's config. This ensures that all dependencies required by this module are registered in the service manager. It also defines default config values for this module.

Create a configuration file in your config/autoload folder and change the module options as needed.

authorization.global.php

Usage

Whenever you need to check if someone is authorized to take some actions, inject the AuthorizationInterface::class service into your class, then call the isGranted method with the correct parameters. There are 2 ways to call the isGranted method.

First Method

Specify which roles you want to check.

Second Method

Do not specify the roles or send an empty array as the second parameter. This will check if the authenticated identity has permission.

Customize the IdentityProvider

Whenever you request an authorization check on the authenticated identity, the identity will be provided to the AuthorizationService through a registered IdentityProviderInterface service.

This is because identity is authentication dependent, so the module lets you overwrite this service, depending on your needs. If you want to get the identity from other sources instead of the dot-authentication service, just overwrite the IdentityProviderInterface::class service in the service manager with your own implementation of this interface.

Custom role providers

Write your own role provider by implementing the RoleProviderInterface and register it in the RoleProviderPluginManager. After that, you can use them in the configuration file, as described above.

Creating assertions

Assertions are checked after permission granting, right before returning the authorization result. Assertions can have a last word in deciding if someone is authorized for the requested action. A good assertion example could be an edit permission, but with the restriction that it should be able to edit the item just if the user id matches the item's owner id. It is up to you to write the logic inside an assertion.

An assertion has to implement the AssertionInterface and be registered in the AssertionPluginManager.

This interface defines the following method

The context variable can be any external data that an assertion needs in order to decide the authorization status. The assertion must return a boolean value, reflecting the assertion pass or failure status.


All versions of dot-rbac with dependencies

PHP Build Version
Package Version
Requires php Version ~8.1.0 || ~8.2.0 || ~8.3.0
laminas/laminas-servicemanager Version ^3.11
dotkernel/dot-authorization Version ^3.4.1
laminas/laminas-stdlib Version ^3.7
laminas/laminas-authentication Version 2.16.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 dotkernel/dot-rbac contains the following files

Loading the files please wait ....