0

この質問は何度も聞かれていることを知っていますが、より良いコードを書くことを学んでいるので. だからいくつかの提案が必要です。

以下に示すようなコントローラーとメソッドがあるとします。

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

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

:Service
add();
delete();

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

これらのメソッド/ページにアクセスする権限を指定する必要がある 3 種類のユーザー グループ (システム管理者、企業ユーザー、一般ユーザーなど) があります。

私はデータベース構造を持っています

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() を持つ User として自動ロードされたライブラリ クラスがあり、このメソッドは MY_Controller コンストラクターで呼び出されました。

私の質問は、アクセスを許可するためにコントローラー/関数をデータベースフィールドにマッピングすることは良い習慣ですか? または、これよりも効率的な他のオプションはありますか?

4

1 に答える 1