【发布时间】:2011-12-13 15:12:22
【问题描述】:
我有一个包含以下表格的数据库:
CREATE TABLE `visitors` (
`name` varchar(64) not null,
`id` int(10) unsigned not null auto_increment,
# ...more fields here
PRIMARY KEY (`id`),
UNIQUE KEY (`name`)
);
CREATE TABLE `credentials` (
`id` int(10) unsigned not null auto_increment,
`visitor_id` int(10) unsigned,
`type` enum('password','openid','google','facebook') not null,
`token` char(40) not null,
`modified` datetime,
`hint` varchar(64),
PRIMARY KEY (`id`),
KEY `visitor` (`visitor_id`),
KEY `token` (`token`)
);
在考虑了一段时间后,我认为这是“正确的”,例如规范化并允许访问者拥有多个登录凭据,包括多个密码。
但是,我想使用 Cake 的 ACL 功能,并且 AuthComponent 假定散列密码与用户(访问者)信息存储在同一个表中。解决此问题的最佳方法是什么?我必须使用 Auth->login(),还是有更好的方法?
【问题讨论】:
标签: cakephp authentication login normalization