我知道这个问题已经被问过很多次了,但是我正在学习编写更好的代码。所以需要一些建议。
假设我有一个控制器和方法,如下所示:
: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 字段可能包含诸如“company/add”、“service/add”、“company/view”等值。
我有一个自动加载的库类作为具有方法 check_permission() 的用户,此方法已在 MY_Controller 构造函数上调用。
所以我的问题是,将控制器/功能映射到数据库字段以允许访问是一个好习惯吗?或者您还有其他比这更有效的选择吗?