Skip to content

Repository files navigation

Ray.RoleModule

Installation

Composer install

$ composer require ray/role-module

Module install

You need to provide RoleProvider.

class AppRoleProvider implements RoleProviderInterface
{
publicfunctionget()
{
return'admin';
}
}

Install module with RoleProvider.

useRay\RoleModule\ZendAclModule;
useRay\Di\AbstractModule;
useLaminas\Permissions\Acl\Role\GenericRole;
useLaminas\Permissions\Acl\Acl;
class AppModule extends AbstractModule
{
protectedfunctionconfigure()
{
// @see http://framework.zend.com/manual/current/en/modules/zend.permissions.acl.intro.html$acl = newAcl();
$roleGuest = newGenericRole('guest');
$acl->addRole($roleGuest);
$acl->addRole(newGenericRole('staff'), $roleGuest);
$acl->addRole(newGenericRole('editor'), 'staff');
$acl->addRole(newGenericRole('administrator'));
$this->install(newZendAclModule($acl, AppRoleProvider::class));
}
}

Usage

Simple usage:

useRay\RoleModule\Annotation\RequiresRoles;
#[RequiresRoles(['admin'])]
class Foo
{
publicfunction createUser($id)
{

You can annotate individual method too, It has priority over class attribute.

useRay\RoleModule\Annotation\RequiresRoles;
class Foo
{
#[RequiresRoles(['admin', 'editor'])]
publicfunction createUser($id)
{

Demo

$ php demo/run.php
// It works!

About

A role module for Ray.Di

Topics

Resources

Stars

4 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages