我想使用两个不同的表进行登录。一个用于用户,一个用于员工登录。目前只有一个表'用户'我正在使用yii内置的RBAC,一切正常。现在我想添加第二个表' staff'没有RBAC登录。因此,在登录期间,它将首先检查'用户'中的用户名。桌子,如果不在那里,那么它将检查工作人员'表然后检查密码。我能够成功登录逻辑。但现在问题是RBAC。 " AuthAssignment" table具有userid作为' users'的外键。表,如果员工ID在'用户'中有相应的ID然后系统将根据“用户”的角色提供访问权限。表。如果登录来自员工表,我该如何避免它。是否有可能为员工提供不同的角色?表格或是否可以不使用“工作人员”的角色。表
请帮忙。提前致谢。
答案 0 :(得分:0)
最好有一个登录表(因为FK和关系)。
[user]
ID | username | password | type
比具有不同字段的员工和用户信息表:
[staff]
ID | user_id | workstation_id | favorit_tool | ...
[user_info]
ID | user_id | name | surname | address | ...
在Yii中你可以做关系:
[userModel]
public function relations() {
return [
'stuff' => [self::BELONGS_TO, 'stuff', 'user_id', 'condition' => 'type = '.static::TYPE_STUFF],
'info' => [self::BELONGS_TO, 'user_info', 'user_id',
];
}