PR

CakePHP – ACL再入門(1)

やっぱりACLは難しい。整理の意味も含めてもう一度入門しておく。(今回はCakePHP1.3.2です)

まずデータベースの準備から。

スポンサードリンク

CREATE TABLE prefix_users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(255) NOT NULL UNIQUE,
    password CHAR(40) NOT NULL,
    group_id INT(11) NOT NULL,
    created DATETIME,
    modified DATETIME
);
CREATE TABLE prefix_groups (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    created DATETIME,
    modified DATETIME
);
CREATE TABLE `prefix_acos` (
        `id` int(10) NOT NULL AUTO_INCREMENT,
        `parent_id` int(10) DEFAULT NULL,
        `model` varchar(255) DEFAULT NULL,
        `foreign_key` int(10) DEFAULT NULL,
        `alias` varchar(255) DEFAULT NULL,
        `lft` int(10) DEFAULT NULL,
        `rght` int(10) DEFAULT NULL,    PRIMARY KEY  (`id`)
);
CREATE TABLE `prefix_aros` (
        `id` int(10) NOT NULL AUTO_INCREMENT,
        `parent_id` int(10) DEFAULT NULL,
        `model` varchar(255) DEFAULT NULL,
        `foreign_key` int(10) DEFAULT NULL,
        `alias` varchar(255) DEFAULT NULL,
        `lft` int(10) DEFAULT NULL,
        `rght` int(10) DEFAULT NULL,    PRIMARY KEY  (`id`)
);
CREATE TABLE `prefix_aros_acos` (
        `id` int(10) NOT NULL AUTO_INCREMENT,
        `aro_id` int(10) NOT NULL,
        `aco_id` int(10) NOT NULL,
        `_create` varchar(2) DEFAULT '0' NOT NULL,
        `_read` varchar(2) DEFAULT '0' NOT NULL,
        `_update` varchar(2) DEFAULT '0' NOT NULL,
        `_delete` varchar(2) DEFAULT '0' NOT NULL,      PRIMARY KEY  (`id`),
        UNIQUE KEY `ARO_ACO_KEY` (`aro_id`, `aco_id`)
);

コメント