在我的申请中,需要进行某些修改。我想在下面列出它们:
我发现有一个用于电子邮件验证的插件,然后有用于用户访问控制的Acl。但我是Cake的新手,当然我对原生会话,cookie和令牌感到满意(用于电子邮件验证)。那么,更优选的是,如果我跳过Auth
模块而不是$this->Session
并编写标记化脚本?除安全性之外使用Auth
有什么好处?
修改(还有一个问题): 在cakePHP中,如果我们使用allow方法:
if($this->Auth->user('roles') == 'usertype1') {
$this->Auth->allow('index', 'add', 'edit', 'delete');
}
我可以处理对控制器方法的访问。但是我应该如何在users表中添加“pending”列,以便我可以使用Auth验证用户是处于待处理状态还是活动状态?如果这样做,我只需要编写验证邮件部分。或者建议仅使用会话变量“isactive”检查会话*,并按上述原始问题中的要求对方法执行检查?
答案 0 :(得分:0)
您可以使用Admin routing ( routing prefix)或ACL轻松实现所需的功能。您必须使用电子邮件帮助程序编写电子邮件验证部分。 对于你的第二个问题: 您可以在数据库中显示一个字段,显示用户是否处于活动状态。 让我们说它是布尔类型的“活跃”。此值将设置为TRUE,用户已验证其电子邮件。 要仅允许Active用户登录,您可以
$this->Auth->authenticate = array(
AuthComponent::ALL => array(
'userModel' => 'User',
'fields' => array(
'username' => 'username',
'password' => 'password'
),
'scope' => array(
'User.active' => 1,
)
), 'Form'
);
这样只有活动才能登录。