我已使用this tutorial为我的应用程序创建登录屏幕。但是我想用相同的登录表单保护另一个内页。因此,用户可以登录并使用该应用程序,但是如果他/她希望在应用程序中打开特定页面,则出于安全原因,他/她必须重新输入密码。我该如何实现?
这是我在AppController.php
中的初始化函数:
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => [
'username' => 'email',
'password' => 'password'
]
]
],
'loginAction' => [
'controller' => 'Users',
'action' => 'login'
]
]);
答案 0 :(得分:0)
即使在已经过身份验证的环境中,您也可以始终使用AuthComponent::identify()
方法来检查登录表单。请参阅CakePHP文档中的Identifying Users and Logging Them In和API文档中的AuthComponent::identify。
分步操作:
User
实体的表单,其中包含用于email
和password
的控件。email
字段,也可以使用隐藏字段。$this->request->is('post')
块,就像您使用标准登录并使用$user = $this->Auth->identify();
检查有效凭据的方式一样。UnauthorizedException
或ForbiddenException
。