我有一个需要用户登录的应用程序。但是,为了简单起见,我们只为用户提供一个唯一的代码,以便他们输入代码并登录。此代码仅在两周内有效,并且永远不会重复。
但是,我们的管理员也需要登录,但管理员需要用户名和密码。
我将如何修改AppController
以允许两个登录?我正在使用 AclExtras 插件进行身份验证
一个登录位于APP/Users/enter
(用户)下,另一个位于APP/Users/login
(管理员)下
我有一个需要用户登录的应用程序。但是,为了简单起见,我们只为用户提供一个唯一的代码,以便他们输入代码并登录。此代码仅在两周内有效,并且永远不会重复。
但是,我们的管理员也需要登录,但管理员需要用户名和密码。
我将如何修改AppController
以允许两个登录?我正在使用 AclExtras 插件进行身份验证
一个登录位于APP/Users/enter
(用户)下,另一个位于APP/Users/login
(管理员)下
实现一个检查令牌的自定义 Auth 适配器。除非您明确需要,否则无需执行单独的操作。
Cake 正在遍历所有已加载的身份验证适配器,因此您可以拥有相同形式的用户名和密码以及令牌。如果常规表单适配器返回 false 但令牌身份验证适配器返回 true,则用户已登录。
检查有关 auth 的书籍部分。它包含您了解需要做什么所需的所有信息。
您可以在AppController
检查唯一代码字段是否通过时进行简单的 if/else,如果没有,则可以使用用户名/密码实现登录。在所有其他情况下,您可以通过唯一代码实现登录。