使用我自己的函数/API 对用户进行身份验证



当用户提交登录表单时,为了验证该用户而不是使用 cakephp 默认身份验证$this->Auth->login()我想调用一些基于 java 的 api,我将在其中发送用户输入的用户 ID 和密码,如果用户是真实的,该 api 将返回用户详细信息,如果不是,则返回 false。我想将 cakephp AuthComponent 用于其余的事情(例如:会话等),但仅用于验证我想调用我的 api 的用户。这可能吗?我可以覆盖一些核心方法吗?

谢谢。

我认为这涵盖了它,在"创建自定义身份验证对象"下

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html

您可以在

文件夹路径中创建扩展BaseAuthenticate Controllers/Component/Auth类。在那里,您必须实现一个authenticate()方法,如果成功记录,则必须返回一个包含用户数据的数组,如果没有,则返回 false。

然后,告诉组件在 AppController 中调用时Auth组件使用自定义身份验证:

'Auth' => array(
    'authenticate' => array(
        'yourNewAuth' => array(
            //other stuff
        )
    )
)
您可以将

AuthComponent::$sessionKey 设置为 false,以确保 AuthComponent 不会尝试从会话中读取用户信息。

http://api.cakephp.org/2.4/class-AuthComponent.html

相关内容

  • 没有找到相关文章

最新更新