22 lines
		
	
	
		
			876 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			876 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use function DI\autowire, DI\create, DI\get;
 | |
| 
 | |
| use Storage\Session;
 | |
| 
 | |
| use Taxus\{ Privilege, Taxus, PermissionGrantInterface, DefaultPermissionGrant };
 | |
| 
 | |
| use Psr\Http\Message\ServerRequestInterface;
 | |
| 
 | |
| return [
 | |
|     Taxus::class => function ($c) {
 | |
|         return ( new Taxus( $c->get(PermissionGrantInterface::class) ) )->add(
 | |
|             [ new Privilege("dev", "Is a developper of this application."), "is_dev" ],
 | |
|             [ new Privilege("admin", "Can manage mostly everything from this application."), "is_admin" ],
 | |
|             [ new Privilege("user", "Is an authenticated user."), "is_user" ],
 | |
|             [ new Privilege("anonymous", "Is an anonymous (unauthenticated) user."), "is_anonymous" ],
 | |
|         );
 | |
|     },
 | |
| 
 | |
|     PermissionGrantInterface::class => create(PermissionGrantInterface::class)->constructor(get(ServerRequestInterface::class), get(Session::class)),
 | |
| ]; |