gpt4 book ai didi

php - 在 codeigniter 中管理组权限

转载 作者:行者123 更新时间:2023-11-29 13:29:36 26 4
gpt4 key购买 nike

我知道这个问题已经被问过很多次了,但我正在学习编写更好的代码。所以需要一些建议。

假设,我有一个 Controller 和方法,如下所示:

:Account
login();
home();
manage_user();
logout();

:Company
add();
view();
edit();
delete();

:Service
add();
delete();

:Page
default();
about_us();
contact_us();

我需要为三种类型的用户组(例如系统管理员、公司用户和普通用户)指定访问这些方法/页面的权限。

我的数据库结构为

group(id, name);
user(id, parent_id, group_id, company_id, username, password, email);
permission(id, group_id, uri, allowed);

uri 字段可能包含“公司/添加”、“服务/添加”、“公司/ View ”等值。

我有一个自动加载的库类,作为 User,有一个方法 check_permission(),该方法已在 MY_Controller 构造函数上调用。

所以我的问题是,将 Controller /函数映射到数据库字段以允许访问是一个好的做法吗?或者您还有其他比这更有效的选择吗?

最佳答案

根据我的观点,将每个用户的组权限保存在数据库中并拥有一个权限映射表总是好的。这样将来您就可以升级或降级用户的权限而无需触摸代码(从管理面板)

此外,您不需要在 MY_Controller 的构造函数中进行数据库查询(如果您这样做的话)。当用户登录时,您可以将他的权限/组值保存在 Session 中,并继续使用它以供进一步引用。这将保存您的查询:)

关于php - 在 codeigniter 中管理组权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19652137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com