開発プロジェクトでは、バックエンド Infinitus メニューの表示は避けられず、非常に一般的です。通常、背景メニューは 2 階層、最大 3 階層に分かれていますが、複数階層になる場合もあります。今日はInfinitus Menuの導入過程を記録していきます。
ここで行われる処理は次のとおりです: ロールベースのアクセス制御。RBAC では、アクセス許可がロールに関連付けられ、ユーザーは適切なロールのメンバーになることでこれらのロールのアクセス許可を取得します。これにより、アクセス許可の管理が大幅に簡素化されます。組織では、さまざまなタスクを実行するためにロールが作成され、ユーザーにはその責任と資格に基づいて対応するロールが割り当てられ、あるロールから別のロールに簡単に割り当てることができます。新しい要件とシステム統合に基づいてロールに新しい権限を付与でき、必要に応じてロールから権限を再利用することもできます。より広範囲の客観的状況を包含するように、キャラクター間の関係を確立することができます。
まず次のテーブル構造を紹介します:
CREATE TABLE `sp_auth` (
`auth_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`auth_name` varchar(30) NOT NULL COMMENT '権限名',
`action_name` varchar(30) NOT NULL COMMENT '権限コード',
`desc` varchar(120) NOT NULL DEFAULT '' COMMENT '権限の説明',
`pid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '上位権限ID',
`sort_id` smallint(5 ) unsigned NOT NULL DEFAULT '0' COMMENT '許可ソート値',
`add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '時間を追加',
`update_time` タイムスタンプ NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時刻',
`is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '削除するかどうか (0 削除されない | 1 削除された)',
PRIMARY KEY (`auth_id`),
UNIQUE KEY `action_name` ( `action_name`)、
KEY `pid` (`pid`)、
KEY `add_time` (`add_time`)、
KEY `is_delete` (`is_delete`)、
KEY `controller_name` (`controller_name`(6) ),
KEY `auth_name` (`auth_name`(16)),
KEY `sort_id` (`sort_id`)
) ENGINE=MyISAM AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COMMENT='権限テーブル';
処理方法:
リーリー リーリーこれにより、表示されているメニューデータを取得できます。