YiiのAuthManager全般と、DBテーブルに使用されるスキーマについて混乱しています。
- AuthItemテーブルのタイプフィールドは0から2の間でのみ可能です(Role = 2、Task = 1、Operation = 0)?
- チュートリアルで使用されているブログを使用して、 bizruleフィールドとdataフィールドに保存されているものの例を教えてください。
- useridフィールドはvarcharである必要がありますか?
このスキーマ(MySQLの場合)は競合を生成しますか?
CREATE TABLE `AuthItem` (
`name` varchar(60) NOT NULL,
`type` tinyint(1) unsigned NOT NULL,
`description` varchar(255),
`bizrule` text,
`data` text,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `AuthItemChild` (
`parent` varchar(60) NOT NULL,
`child` varchar(60) NOT NULL,
PRIMARY KEY (`parent`,`child`),
FOREIGN KEY (`parent`) REFERENCES `AuthItem` (`name`)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (`child`) REFERENCES `AuthItem` (`name`)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `AuthAssignment` (
`itemname` varchar(60) NOT NULL,
`userid` int(10) unsigned NOT NULL,
`bizrule` text,
`data` text,
PRIMARY KEY (`itemname`,`userid`),
FOREIGN KEY (`itemname`) REFERENCES `AuthItem` (`name`)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (`userid`) REFERENCES `User` (`userid`)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
前もって感謝します!