因此,在我的CakePHP应用程序中,我有管理员和主持人(主持人实际上是在前端显示的用户个人资料,后端访问权限非常有限),而管理员正在控制主持人及其个人资料更改。我有这个单独的表(如果它是正确的方式,我将合并它们并构建一个标准的登录)。
当用户访问www.example.com/moderator时,我只想从版主表中进行身份验证,将变量添加到$this->Auth->user()
'role' => 'moderator'
,然后重定向到www.example.com/调节剂/视图/ moderator_id。当用户访问www.example.com/administrator时,我需要管理员身份验证和不同的重定向。这样做的正确方法是什么?
答案 0 :(得分:1)
绝对是一张桌子。
如果您创建了一个表,并且发现自己重复了很多(或者在这种情况下可能是所有)字段,那么这应该是一个很大的红色标记,您可能需要重新考虑您的表结构。
正如上面的许多评论指出的那样,“正常”的方式是通过users
和roles
表。
users
- id
- username (or email)
- password
- role_id
role
- id
- name
然后,当用户登录时,您还将使用其关联的角色信息,这允许您重定向到特定位置,或者根据该角色提供或拒绝对特定事物的访问等。