我希望在CakePHP 1.3.8中实现类似于以下场景的最新版本:
Username / Password
或直接询问Secret Keyword
Secret Keyword
details of website
don't allow
进一步访问 CakePHP中有Auth
个组件用于username/password
之类的身份验证但是我想实现Secret Keyword
的额外步骤来访问应存储在某个文件中的信息,encrypted way
或者仅在single computer
用法中建议的其他更好的方式。
任何想法都会受到赞赏。
谢谢!
答案 0 :(得分:1)
我通常会关闭autoRedirect
,因此我可以在login
方法中执行额外操作。我通常不会做这个很多工作,但在认证完成/成功后,您可能会相应地重新调整用途。这不是一个完整的答案,以下是您的要求的完整代码段,但它可能足以让您入门。
/** Logging in and authenticated */
if ( !empty( $this->data ) && $this->Auth->user() ) {
$this->User->id = $this->Auth->user( 'id' );
$this->set_user_type();
$this->User->saveField( 'last_login', date( 'Y-m-d H:i:s' ) );
if( $this->User->has_building( $this->Auth->User('id') ) ) {
$this->redirect( array( 'controller' => 'buildings', 'action' => 'incentives' ) );
}
else {
$this->redirect( $this->Auth->redirect() );
}
}
这是我自己的一个项目的片段。在您的情况下,您可能会查找下一个密钥值。如果不存在,请进入视图以检索它并提交回相同的方法。在第二次传递中,如果用户已通过身份验证并且密钥已传递并存在,则根据需要重定向。如果密钥错误,则取消验证用户并重定向。
就像我说的那样,不是一个完整的答案,而是一个非常简单的看待一个难题,但希望它可以帮助你开始。