Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有用户权限的Php管理面板

具有用户权限的Php管理面板
EN

Stack Overflow用户
提问于 2012-08-10 23:22:27
回答 3查看 6K关注 0票数 0

这是我在这里的第一个问题,我相信这个问题已经不存在了:)我搜索了,但没有成功。

好了,我有下一个问题。我需要一些想法如何在管理面板中做一个用户的权限。我想有一个超级管理员,管理员和操作员。这里的任何人都会有不同的特权。超级管理员将拥有所有特权,管理员部分和操作员的一些但不是全部将拥有相同的特权。为此,我需要一个后端逻辑。如何在没有很多if语句的情况下做到这一点,让我的代码看起来很漂亮?我使用自己编写的Smarty模板引擎和oop php。我将使用Smarty权限进行赋值,但是下一步呢?有没有人能给我一些点子或示例代码?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-10 23:34:13

使用MVC,这是一个相对简单的任务。在一个名为permissions的表中创建不同的角色,然后在另一个名为user_permissions的表中创建不同的角色,该表将user_id连接到permission_id。然后创建一个函数,可能是在一个名为has_role()user类中。该函数接受两个参数:权限别名和最终的用户id。

如果您希望避免在视图中调用函数,可以在控制器中保存不同的变量,这些变量将传递给视图,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$isAdmin = $user->has_role('admin');
$isOperator = $user->has_role('operator');

如果你只向管理员显示一些内容,你可以在你的视图中这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php if($isAdmin): ?>

<p>Admin only content</p>

<?php endif; ?>

但是,如果您有仅限管理的页面,只需将

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(! $this->user->has_role('role')) {
  header("Location: /index.php");
  die();
}

就能达到目的。当然,所有这一切都可以在没有MVC部分的情况下完成,但是有了它,它就变得更干净了。

票数 3
EN

Stack Overflow用户

发布于 2012-08-10 23:28:11

也许您可以通过拆分管理视图(假设每种类型的用户获得不同的UI体验),然后根据用户的权限包含正确的文件来做到这一点?

Tbh,如果不知道OOP框架的工作原理,就很难回答这个问题,因为这将定义您如何解决问题。

票数 1
EN

Stack Overflow用户

发布于 2012-08-10 23:51:36

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Session {

    public static function init() {
        @session_start();
    }

    public static function set($key, $value) {
        $_SESSION[$key] = $value;
    }

    public static function get($key) {
        if (isset($_SESSION[$key])) {
        return $_SESSION[$key];
        }
    }

    public static function destroy() {
        //unset($_SESSION);
        session_destroy();
    }

}

稍后,您可以在登录php中设置角色,即从mysql获得的$data' role‘:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   Session::init();
   Session::set('role', $data['role']);

并检查角色的使用情况,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    $role = Session::get('role');
    if ($role != 'owner') {
        Session::destroy();
        header('location: '.URL.'login');
        exit;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11910467

复制
相关文章
【MySql】用户管理——用户管理|权限管理
如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。 比如张三只能操作mytest这个数据库,李四只能操作msg这个数据库,而root可以操作所有的库,如果给他们root账户,风险太大了,数据库都能操作,所以我们需要对用户进行管理。
平凡的人1
2023/10/15
2840
【MySql】用户管理——用户管理|权限管理
Linux用户权限管理
Linux是一个多用户的操作系统,为了实现资源分派及出于安全的考虑,必须对用户进行不同权限的分配。用户组便于更高效地管理用户权限。 用户操作Linux需要经过三个步骤的权限认证: Authentication:认证 Authorization:授权 Accouting:审计 用户及用户组 用户UID 管理员:root, 0 普通用户:1-65535 系统用户:1-499, 1-999(centos7) 作用:对守护进程获取资源进行权限分配 登录用户:500+, 1000+ 用户组GID 管理员组:root
章鱼喵
2018/06/27
9.4K0
Linux用户权限管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管 理员申请一个账号,然后以这个账号的身份进入系统。
星陨1357
2023/03/14
15.8K0
Linux用户权限管理
Laravel 用户权限管理
实现基于user,role,permission三表的权限管理 因为一个用户可能拥有多种role,而一种role能同时被多个用户拥有。所以要建立多对多关系。 参见文档
mafeifan
2018/09/10
2.9K0
Laravel 用户权限管理
Jenkins用户权限管理
当插件安装好的时候,授权策略会多出一个Role-Based Strategy选项,选择该项并保存
py3study
2020/07/20
2.1K0
MySQL 用户权限管理
删除权限 REVOKE ALL PRIVILEGES ON `8oh`.* FROM '8oh'@'%'; GRANT USAGE ON `8oh`.* TO '8oh'@'%'; 除了Grant权限赋予: REVOKE ALL PRIVILEGES ON `8oh`.* FROM '8oh'@'%'; GRANT ALL PRIVILEGES ON `8oh`.* TO '8oh'@'%'; 移除Grant权限 REVOKE ALL PRIVILEGES ON `8oh`.* FROM '8oh'@'%'
Laikee
2022/04/25
4.2K0
Oracle用户、权限管理
上面创建了一个用户名为"monkey",密码为"monkey"的用户,默认表空间为fruit。
陈树义
2022/04/29
2.4K0
Linux用户权限管理
例如:chmod u=rxw,g=rx,o=r a.txt,等同于chmod 754 a.txt (7=1+2+4,所以代表可读可写可执行,5=1+4,所以代表可读可执行 4代表可读)
Linux兵工厂
2023/02/28
10.9K0
Linux用户权限管理
Jenkins用户权限管理
Hi,大家好。在上一篇Jenkins系列文章:Jenkins介绍及安装,主要介绍Jenkins简介、docker安装Jenkins及Jenkins配置。
可可的测试小栈
2021/11/26
1.9K0
mysql用户权限管理
业务场景描述:我们在不同的项目中给不同的角色(mysql客户端用户,通常为开发者)不同的权限,为了保证数据库的数据安全。
挑战者
2019/10/24
4.6K0
mysql用户权限管理
linux添加用户及用户权限管理命令_docker用户权限
useradd -s /etc/shell username 指定用户所使用的shell(该用户的shell就为/etc/shell)
全栈程序员站长
2022/11/18
11.7K0
linux添加用户及用户权限管理命令_docker用户权限
javaweb权限管理简单实现_javaweb用户权限管理
注:由于该项目比较老,所以没有采用maven管理,建议下载java后台通用权限管理系统(springboot)),对学习和使用会更有帮助。
全栈程序员站长
2022/11/09
2.4K0
javaweb权限管理简单实现_javaweb用户权限管理
MySQL 用户管理和权限管理
在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。
Python碎片公众号
2021/02/26
4.9K0
MySQL 用户管理和权限管理
Oracle查看那些用户具有DBA权限「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
2.2K0
CDB PDB 用户权限管理
pdb 中对本地用户授权,指定 container=all 报错,指定 container=current 成功
用户8006012
2022/07/06
1.6K0
linux用户和权限管理
用户名:密码:上次修改密码的天数:密码最短有效天数:提前多少天警告过期:过期多少天禁用:失效日期:保留字段
yuezhimi
2020/09/30
3.9K0
MySQL用户管理——权限系统
用户管理是DBA的一项重要工作,DBA能够控制用户的活动,哪些事情可以做,哪些事情不能做。DBA需要为不同的用户和角色创建不同的权限,以适配各种用户的需求和使用范围,并尽可能避免使用“root”用户,以防止应用程序受损或者在日常运维中出现错误。此外,DBA需要通过正确分配个人用户权限来确保数据完整性,允许授权用户执行工作,防止未经授权的用户访问超越权限的数据。
MySQLSE
2023/08/31
2080
MySQL用户管理——权限系统
MySQL 用户与权限管理
    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限。MySQL存取控制包含2个阶段,一是服务器检查是否允许你连接;二是假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。本文主要描述MySQL权限系统相关的用户创建、授权、撤销权限等等。
Leshami
2018/08/13
8.9K0
点击加载更多

相似问题

strapi管理面板用户权限init 404

18

基于角色的管理面板用户权限系统

22

php -如何管理用户权限?

21

Php用户面板和管理面板中的注销问题

21

在php中管理用户权限

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文