当用户提交登录表单时,为了验证该用户而不是使用cakephp默认身份验证$this->Auth->login()
我想调用一些基于java的api,我将发送用户输入的用户ID和密码,并且api将返回用户详细信息如果用户是真实的,如果不是,则为假。我想使用cakephp AuthComponent进行其余的事情(例如:会话等),但仅用于验证我想要调用我的api的用户。这可能吗 ?我可以覆盖一些核心方法吗?
感谢。
答案 0 :(得分:1)
我认为这涵盖了“创建自定义身份验证对象”
http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html
答案 1 :(得分:0)
您可以在BaseAuthenticate
文件夹路径中创建一个扩展Controllers/Component/Auth
的类。在那里你必须实现一个authenticate()
方法,如果成功记录,必须返回一个包含用户数据的数组,如果没有,则返回false。
然后,当您在AppController中调用它时,告诉Auth
组件使用您的自定义身份验证:
'Auth' => array(
'authenticate' => array(
'yourNewAuth' => array(
//other stuff
)
)
)
答案 2 :(得分:0)
您可以将 AuthComponent :: $ sessionKey 设置为false,以确保AuthComponent不会尝试从会话中读取用户信息。