vespula/user

一个用于处理 Laminas 权限 ACL 的简单用户类。它扩展了 Laminas\Permissions\Acl\Role\RoleInterface。

0.4.5 2024-07-15 13:55 UTC

This package is auto-updated.

Last update: 2024-09-15 14:20:29 UTC


README

此包只是一个扩展了 Zend\Permissions\Acl\Role\RoleInterface 的用户对象。这允许你在查询 ACL 时将用户对象传递给 isAllowed() 方法。你也可以从你的认证库或其他来源填充一些其他数据。

有关使用 Zend ACL 库的详细信息,请参阅 https://docs.zendframework.com/zend-permissions-acl/

示例

#!php
<?php
$acl = new Zend\Permissions\Acl\Acl;
$acl->addRole('guest');
$acl->addRole('user', 'guest');
$acl->addRole('admin', 'user');
	
$acl->addResource('posts');
	
$acl->allow('guest', 'posts', 'view');
$acl->allow('user', 'posts', 'add');
$acl->allow('admin');

// User data, such as the role, username, etc. could come from an Auth object or some other object, such as a Config object. That is up to you. 

$user = new \Vespula\User\User('admin');
$user->setUsername('juser');
$user->setFullname('Joe User');

if ($acl->isAllowed($user, 'posts', 'add')) {
    // etc.
}

echo "Hello " . $user->getFullname();