我有一个Yii2与Yii2管理员,用户和AdminLTE安装。我的问题是我不知道如何创建规则,实际上我不知道如何定义类名。应该定义“类”?如何查看我有哪些类或添加类?
非常感谢,
答案 0 :(得分:0)
我不知道你使用的是哪个模块,但我知道如何为controller定义规则。请打开一个控制器,例如:mycontroller。 当你想在mycontroller中创建一个行动规则时,你应该使用' behavior'功能如你所见。
class MyController extends Controller {
public function behaviors() {
return [
'access' => [
//you can use this class is use for every controller "AccessControl::className()"
'class' => AccessControl::className(),
// use this rules just for these two actions(logout and signup)
'only' => ['logout', 'signup'],
//this is your rules for your controller's actions
'rules' => [
[
'actions' => ['signup'],
'allow' => true,
// '?' is the default roles in yii2
'roles' => ['?'],
],
[
'actions' => ['logout'],
'allow' => true,
// '@' is the default roles in yii2
'roles' => ['@'],
],
],
],
];
}
我在此控制器中有两个操作'注册'注销'我为每个操作提供了角色。我给出了什么?注册的角色和注销的@角色。 ?角色:表示没有登录的每个用户都可以看到此操作。 @ roles:表示具有登录罐的每个用户都可以看到此操作。 正如您所看到的,规则定义中的类是静态的,您不需要指定类,您可以在代码中使用AccessControl :: className()。 最好的问候