Atu*_*vid 6 authentication components cakephp login verify
我想阻止被禁止的用户登录该网站并向他们发送禁止他们的消息.我尝试使用isAuthorized(),但它允许用户登录,并且只有在拒绝他批准未授权的操作之后才允许用户登录.
所以,基本上我想知道在登录过程发生之前将检查用户表是否为banned = true的条件放在哪里.现在我的登录功能是空的,因为它由Auth组件自动控制.
Atu*_*vid 13
最后,我通过API找到了解决方案.我想知道是否有人曾经使用过这个,因为没有人指出我,或者我可能不够清楚.无论如何,要为登录过程添加一个条件,你只需将它放在变量$ this-> Auth-> userScope中
因此,要检查用户是否被禁止,我只是将此行添加到AppController中的beforeFilter()中,
$this->Auth->userScope = array('User.banned'=>0);
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人.
或者:
$this->Auth->userScope = array('User.banned'=>0);
包含Auth组件时可以执行此操作.这可能会节省一些微小的开销,因为$this->Auth->userScope每次解析控制器时都不会调用.
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'passwordHasher' => 'Blowfish',
'scope' => array('User.banned' => 0)
)
),
'authorize' => array('Controller')
)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6753 次 |
| 最近记录: |