mikemclin/php-acl

基于角色的PHP权限管理

0.1.4 2016-01-07 11:20 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:04:10 UTC


README

关于

PHP ACL (访问控制列表) 是一项服务,允许您根据当前用户的分配角色及其权限(能力)来保护/启用功能。因此,如果当前用户有一个 "moderator" 角色,并且一个版主可以 "ban_users",那么当前用户可以 "ban_users"。

文档

MikeMcLin\Acl|Acl 方法

resume()

从存储中恢复数据。

返回值

布尔值 - 如果存在Web存储,则返回 true,否则返回 false

attachRole(role)

将角色附加到当前用户。用户可以有多个角色。

参数

detachRole(role)

从当前用户中移除角色

参数

flushRoles()

从当前用户中移除所有角色

hasRole(role)

检查当前用户是否有附加角色

返回值

布尔值

setAbilities(abilities)

设置能力对象(覆盖之前的能力)。

参数
示例
var abilities = (object)[
  guest: ['login'],
  user: ['logout', 'view_content'],
  admin: ['logout', 'view_content', 'manage_content']
]
setAbilities(abilities);

addAbility(role, ability)

向角色添加能力

参数

can(ability)

当前用户是否有执行给定能力的权限?

返回值

布尔值

示例
// Setup some abilities
$acl->addAbility('moderator', 'ban_users');
$acl->addAbility('admin', 'create_users');

// Add moderator role to the current user
$acl->attachRole('moderator');

// Check if the current user has these permissions
$acl->can('ban_users'); // returns true
$acl->can('create_users'); // returns false

许可证

MIT许可证

Angular ACL 版权 (c) 2015 Mike McLin

特此授予任何人免费获取此软件及其相关文档文件(“软件”)的副本的权利,用于不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人员这样做,前提是包括上述版权声明和本许可声明在内的所有副本或主要部分均应包含在软件中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论这些责任是在合同、侵权或其他法律行为中产生的,无论这些责任是否与软件或其使用或其它方式有关。