用户登录的多个表

时间:2014-01-16 11:31:41

标签: cakephp authentication

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

当用户访问www.example.com/moderator时,我只想从版主表中进行身份验证,将变量添加到$this->Auth->user() 'role' => 'moderator',然后重定向到www.example.com/调节剂/视图/ moderator_id。当用户访问www.example.com/administrator时,我需要管理员身份验证和不同的重定向。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

绝对是一张桌子。

如果您创建了一个表,并且发现自己重复了很多(或者在这种情况下可能是所有)字段,那么这应该是一个很大的红色标记,您可能需要重新考虑您的表结构。

正如上面的许多评论指出的那样,“正常”的方式是通过usersroles表。

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

role
 - id
 - name

然后,当用户登录时,您还将使用其关联的角色信息,这允许您重定向到特定位置,或者根据该角色提供或拒绝对特定事物的访问等。