2017 © Pedro Peláez
 

library dot-authorization

DotKernel authorization service abstractions

image

dotkernel/dot-authorization

DotKernel authorization service abstractions

  • Friday, May 4, 2018
  • by dotkernel
  • Repository
  • 2 Watchers
  • 1 Stars
  • 667 Installations
  • PHP
  • 5 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 7 % Grown

The README.md

dot-authorization

Authorization base package defining interfaces for authorization services to be used with DotKernel applications., (*1)

OSS Lifecycle PHP from Packagist (specify version), (*2)

GitHub issues GitHub forks GitHub stars GitHub license, (*3)

Build Static codecov, (*4)

SymfonyInsight, (*5)

Installation

Run the following command in you project directory, (*6)

$ composer require dotkernel/dot-authorization

Please note that usually this pacakge will be installed as a dependency to a concrete implementation, so you won't need to add this to your project manually., (*7)

AuthorizationInterface

Defines the interface that should be implemented by any authorization service, in order to work with DotKernel applications. This is a result of the fact that, by default, any DotKernel package which has to do with authorization is assuming that a service is registered in the service container using as service name this interface's FQN, (*8)

Methods

public function isGranted(string $permission, array $roles = [], $context = null): bool;
  • this is the only method that deals with authorization. Given a permission and a list of roles, should return a boolean value of true if at least one role has access to the requested permission. As you can see, we expect that the authorization service to be implemented as an RBAC.

RoleInterface

Defines the interface that Role objects must implement. A role object should be able to retrieve its name, so this interface has only one method defined, (*9)

public function getName(): string;

IdentityInterface

Interface that needs to be implemented by entities that support roles. They should be able to retrieve their roles by defining a getRoles() method. The roles should be an array of role names or role objects, (*10)

This package is suitable for RBAC style authorization. Roles can be flat or hierarchical and they are assigned permissions. A role is granted if it has the required permission., (*11)

ForbiddenException

Exception to be thrown when accessing content without having the required permissions. This can be used withing an application to trigger a forbidden error and do a custom action(like displaying a forbidden page or redirecting). This package does not define how you should handle such situations. There is a concrete authorization implementation in dot-rbac and a forbidden exception handler in dot-rbac-guard as DotKernel default packages for authorization., (*12)

The Versions

04/05 2018

dev-master

9999999-dev

DotKernel authorization service abstractions

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by n3vrax
by DotKernel Team

04/05 2018

v0.1.2

0.1.2.0

DotKernel authorization service abstractions

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by DotKernel Team

04/05 2018

dev-develop

dev-develop

DotKernel authorization service abstractions

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by n3vrax
by DotKernel Team

10/03 2017

0.1.1

0.1.1.0

DotKernel authorization service abstractions

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by n3vrax

07/03 2017

0.1.0

0.1.0.0

Authorization service abstractions

  Sources   Download

MIT

The Requires

  • php ^7.1

 

The Development Requires

by n3vrax