ACF(Access Control Filter) [ 技术分享 ]
如果你的应用仅仅只是简单的权限控制,权限控制过滤器(Access Control Filter,ACF)将是最佳选择,ACF是一种简单的授权方法,它继承自yii\filters\AccessController。意如其名,权限控制过滤器(ACF)是一个动作过滤器,它可以在控制器或模块中被使用。当一个用户请求执行一个动作时,ACF将检查存取规则列表,然后决定该用户是否允许访问其所请求的动作,实例代码如下,重点在代码中的注释呦!
文件位置:D:\phpwork\basic\controllers\SiteController.php
use yii\web\Controller;
use yii\filters\AccessControl;
class SiteController extends Controller
{
public function behaviors()
{
return [
//access
'access' => [
'class' => AccessControl::className(),
//仅用于'login', 'logout', 'signup',这三个动作
'only' => ['login', 'logout', 'signup'],
//rules
'rules' => [
[
//规则为允许访问
'allow' => true,
//应用于两个动作'login', 'signup'
'actions' => ['login', 'signup'],
//应用于所有的guest,以'?'表示
'roles' => ['?'],
],
[
//规则为允许访问
'allow' => true,
//应用于一个动作'logout'
'actions' => ['logout'],
//应用于所有的已登录客户,以'@'表示
'roles' => ['@'],
],
],
],
];
}
// ...
}
(全文完)
共 0 条回复
没有找到数据。
阿江
注册时间:2015-10-18
最后登录:2024-03-03
在线时长:186小时21分
最后登录:2024-03-03
在线时长:186小时21分
- 粉丝94
- 金钱16816
- 威望160
- 积分20276