php用户权限开通,用户权限管理代码_PHP教程

用户权限管理代码

define('PATTERN_MODE_INT', 1);

define('PATTERN_MODE_STRING', 2);

function bitToArray($data, $ruleArr, $mode = PATTERN_MODE_INT)

{

$varData = array();

if($mode == PATTERN_MODE_INT)

{

$usedBit = 0;

for($i = 0; $i < Count($ruleArr); $i++)

{

if($ruleArr[$i] <= 0 ) continue;

$turnData = pow(2, $ruleArr[$i]) - 1 << $usedBit & $data;

$varData[$i] = $turnData >> $usedBit;

$usedBit += $ruleArr[$i];

}

}

else

{

for($i = 0, $cnt = Count($ruleArr); $i < $cnt; $i++)

{

$varData[$i] = substr($data, $i, $ruleArr[$i]);

}

}

return $varData;

}

function arrayToBit($data, $ruleArr, $mode = PATTERN_MODE_INT)

{

$rslt = '';

if($mode == PATTERN_MODE_INT)

{

$usedBit = 0;

$rslt = 0;

for($i = 0; $i < Count($ruleArr); $i++)

{

if($ruleArr[$i] <= 0 ) continue;

if(!$data[$i]) $data[$i] = 0;

$rslt |= $data[$i] << $usedBit;

$usedBit += $ruleArr[$i];

}

}

else

{

for($i = 0, $cnt = Count($ruleArr); $i < $cnt; $i++)

{

$rslt .= sprintf('%0' . $ruleArr[$i] . 's', $data[$i]);

}

}

return $rslt;

}

http://www.bkjia.com/PHPjc/632012.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632012.htmlTechArticle用户权限管理代码 define('PATTERN_MODE_INT', 1); define('PATTERN_MODE_STRING', 2); function bitToArray($data, $ruleArr, $mode = PATTERN_MODE_INT) { $varData = array(); if($m...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好,我可以给你提供一个简单的PHP实现RBAC用户权限代码的方法。首先,我们需要先创建四张表:用户表、角色表、权限表和角色权限关联表。然后,我们可以定义一个RBACUser类,来处理用户权限的相关操作。 以下是一个基本的PHP实现RBAC用户权限代码示例: ```php <?php class RBACUser { // 数据库连接 private $conn; // 构造函数 public function __construct($conn) { $this->conn = $conn; } // 检查用户是否有权限 public function checkPermission($user_id, $permission_name) { // 获取用户的角色 $query = "SELECT r.role_id FROM user_role ur JOIN role r ON ur.role_id = r.role_id WHERE ur.user_id = :user_id"; $stmt = $this->conn->prepare($query); $stmt->bindParam(":user_id", $user_id); $stmt->execute(); $roles = array(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $roles[] = $row['role_id']; } // 获取角色对应的权限 $query = "SELECT p.permission_name FROM role_permission rp JOIN permission p ON rp.permission_id = p.permission_id WHERE rp.role_id IN (".implode(",", $roles).")"; $stmt = $this->conn->prepare($query); $stmt->execute(); $permissions = array(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $permissions[] = $row['permission_name']; } // 检查是否有权限 if (in_array($permission_name, $permissions)) { return true; } else { return false; } } // 添加用户角色 public function addRole($user_id, $role_id) { $query = "INSERT INTO user_role (user_id, role_id) VALUES (:user_id, :role_id)"; $stmt = $this->conn->prepare($query); $stmt->bindParam(":user_id", $user_id); $stmt->bindParam(":role_id", $role_id); $stmt->execute(); } // 删除用户角色 public function deleteRole($user_id, $role_id) { $query = "DELETE FROM user_role WHERE user_id = :user_id AND role_id = :role_id"; $stmt = $this->conn->prepare($query); $stmt->bindParam(":user_id", $user_id); $stmt->bindParam(":role_id", $role_id); $stmt->execute(); } } ?> ``` 通过使用这个类和相关的方法,我们可以实现对用户权限的管理和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值