Cakephp 用于用户登录的多个表

Cakephp 用于用户登录的多个表,cakephp,authentication,Cakephp,Authentication,因此,在我的CakePHP应用程序中,我有管理员和版主(版主实际上是显示在前端的用户配置文件,在后端的访问权限非常有限),而管理员控制版主及其配置文件的更改。我对此有单独的表(如果这是正确的方法,我将合并它们并构建一个标准登录) 当用户访问www.example.com/慢化剂时,我只想从慢化剂表中进行身份验证,向$this->Auth->user()添加一个变量,如'role'=>'慢化剂',并重定向到www.example.com/慢化剂/view/慢化剂\u id。当用户访问www.exa

因此,在我的CakePHP应用程序中,我有管理员和版主(版主实际上是显示在前端的用户配置文件,在后端的访问权限非常有限),而管理员控制版主及其配置文件的更改。我对此有单独的表(如果这是正确的方法,我将合并它们并构建一个标准登录)


当用户访问www.example.com/慢化剂时,我只想从慢化剂表中进行身份验证,向
$this->Auth->user()
添加一个变量,如
'role'=>'慢化剂'
,并重定向到www.example.com/慢化剂/view/慢化剂\u id。当用户访问www.example.com/administrator时,我想要管理员身份验证和不同的重定向。做这件事的正确方法是什么?

肯定是一张桌子

如果您创建了一个表,并且发现自己复制了很多(或者在本例中可能是全部)字段,那么这应该是一个很大的危险信号,您可能需要重新考虑您的表结构

正如上面的许多评论所指出的,“正常”方式是通过
用户
角色
表格来实现

users
 - id
 - username (or email)
 - password
 - role_id

role
 - id
 - name

然后,当用户登录时,您还可以使用其关联的角色信息,这允许您重定向到特定位置,或根据该角色授予或拒绝访问特定内容……等等。

不,我想说,这听起来不是一个好方法。使用角色并决定一次登录重定向到何处。你应该避免不必要的重定向。对于角色管理,您可以使用。好的,然后是单表。通常是一个用户模型,直接包含角色或将角色模型作为belongsTo关系。这已经完成了,现在可以正常工作了。。。我只是想知道是否有不修改数据库的方法。明白了-我刚刚看到你的评论:“如果这是正确的方法,我将合并它们并建立一个标准登录”-听起来你想知道“正确”的方法。很高兴你一切顺利。