PHP 获取权限的问题

<script type="text/javascript"> function checkLabelText(user) { var name = $('#lblNavname'+user).html(); if(name == null || name == ""){ name = 1; $.get("index.php?c=MEMBER&action=index",{name:name},function(data){ if(data == 1); $(".frame_gap").html('<table width="1116" height="441" border="0"><tr><td><div align="center" class="STYLE1">暂无权限</div></td></tr></table>'); }); } } </script> <div id="content_left"> <DIV class="left_menu"> <ul id="menu"> <{foreach key=num from=$second_nav item = ls}> <table> <tr> <td οnclick="checkLabelText(<{$num}>)"> <li class="item"><a href="javascript:void(<{$ls.i}>)" class="nav_title" name="<{$ls.i}>"><{$ls.navigationname}></a> <ul id="opt_<{$ls.i}>" class="optiton"> <{foreach key=user from=$ls.children item=cl}> <li><a href="<{$cl.url}>" ><label id="lblNavname<{$num}>" name="lblNavname<{$num}>"><{$cl.navname}></label></a></li> <{/foreach}> </ul> </li> </table> <{/foreach}> </ul> </DIV> </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现人员权限管理的方法有很多种,以下是一种基于角色的权限管理方法,即将不同的权限分配给不同的角色,并将角色分配给用户。 1. 数据库设计 首先需要在数据库中设计相关的表。以下是一个简单的表设计: - users 表:存储所有用户的信息,包括用户名和密码等。 - roles 表:存储所有角色的信息,包括角色名和权限等。 - user_roles 表:存储用户和角色之间的关系。 - role_permissions 表:存储角色和权限之间的关系。 ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL ); CREATE TABLE roles ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL ); CREATE TABLE user_roles ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, role_id INT NOT NULL, FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (role_id) REFERENCES roles(id) ); CREATE TABLE role_permissions ( id INT AUTO_INCREMENT PRIMARY KEY, role_id INT NOT NULL, permission VARCHAR(50) NOT NULL, FOREIGN KEY (role_id) REFERENCES roles(id) ); ``` 2. 添加角色和权限 在角色表中添加需要的角色,例如管理员和普通用户。然后为每个角色分配相应的权限,例如管理员拥有所有权限,普通用户只能查看自己的信息。 ```sql INSERT INTO roles (name) VALUES ('管理员'); INSERT INTO roles (name) VALUES ('普通用户'); INSERT INTO role_permissions (role_id, permission) VALUES (1, '所有权限'); INSERT INTO role_permissions (role_id, permission) VALUES (2, '查看个人信息'); ``` 3. 分配角色 在用户注册或管理员后台中,将相应的角色分配给用户。例如,将某个用户分配为管理员: ```sql INSERT INTO user_roles (user_id, role_id) VALUES (1, 1); ``` 4. 验证权限 在需要验证权限的地方,例如某个页面或操作,先获取当前用户的角色,然后检查该角色是否具有所需的权限。以下是一个示例代码: ```php <?php session_start(); // 获取当前用户的角色 if(isset($_SESSION['username'])) { $username = $_SESSION['username']; $query = "SELECT roles.name FROM users INNER JOIN user_roles ON users.id=user_roles.user_id INNER JOIN roles ON user_roles.role_id=roles.id WHERE users.username='$username'"; $result = mysqli_query($conn, $query); $row = mysqli_fetch_assoc($result); $role = $row['name']; } else { // 如果用户未登录,则跳转到登录页面 header("location: login.php"); } // 检查角色是否具有所需的权限 if($role == '管理员' && $permission == '所有权限') { // 执行操作 } elseif($role == '普通用户' && $permission == '查看个人信息') { // 执行操作 } else { // 显示无权限消息 echo "您无权执行该操作"; } ?> ``` 注:以上代码仅供参考,实际应用中需要根据具体需求进行修改。同时,为了安全起见,应该对用户输入进行验证和过滤,以避免 SQL 注入等攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值