【发布时间】:2019-10-13 05:26:26
【问题描述】:
我有一个 CakePHP 应用程序,目前有 2 个 user_type(s)。
- admin(管理员)
- 帐号(普通用户)
我正在开发一种用户可以支付额外费用的东西,它可以让他们访问更多的内容和页面。我打算创建一个名为 PRO 的新 user_type 并使用它,但 PRO 成员仍然需要访问拥有 user_type 帐户的人可以访问的所有内容。
基本上,最简单的设置方法是什么,我可以授予用户使用与我当前使用的代码类似的代码查看某些内容和页面的权限:
<?php if( $currentUser['user_type'] == 'account' ) { ?> 和 <?php } ?> 用于限制内容
if( $this->User['user_type'] == 'account')) {
switch ($this->request->getParam('action')) {
case 'PAGE':
return true;
default:
return false;
break;
}
}
用于控制页面访问
另外,我需要一种简单的方法来让用户通过前端管理面板进行访问。我目前使用下面的代码,我需要一种方法来调整它以适用于这个新的“PRO”选项。
if( $user->user_type != 'admin' && $currentUser['id'] = 1 )
echo $this->Form->postLink(__('Make Admin'), ['action' => 'make_admin', $user->id], ['confirm' => __('Are you sure you want to make admin?', $user->name), 'class'=>'btn btn-danger btn-md']);
else
echo $this->Form->postLink(__('Revoke Admin'), ['action' => 'revoke_admin', $user->id], ['confirm' => __('Are you sure you want to remove admin rights?', $user->name), 'class'=>'btn btn-danger btn-md']);
我是 cakephp 的菜鸟,因此非常感谢任何帮助。我没有制作基础应用程序,我聘请了一个开发人员来做,所以我正在学习 cakephp,以便我可以调整应用程序以更好地满足我的需求。到目前为止,这个社区一直很有帮助,我希望我能继续让一切正常运行!
【问题讨论】:
-
检查授权插件,它将允许您以非常干净的方式做您想做的事。 github.com/cakephp/authorization
标签: php cakephp authorization cakephp-3.x