关于 Yii 2.0 的注册与登录 [ 2.0 版本 ]
新人,刚刚开始学PHP,使用yii框架做项目时,在做项目模仿advanced登录注册页面时,发现在后台注册页面登录以后才能显示。如何在后台实现不用登录就显示注册页面呢?
也可以说是,在后台管理时登录以后可以增加新管理员,并授予权限,但是我想做一个后台在不需要登录时就可以注册管理员用户,默认给予低权限
最佳答案
-
修改后端文件夹 backend 中的 controllers 文件夹中的对应的控制器(里面包含注册方法),把其中
behaviors()
方法修改一下,在'roles' => ['@']
的数组中,把对应的控制器注册方法删除,就不需要登录了。共 6 条回复public function behaviors()
{ return [ 'access' => [ 'class' => AccessControl::className(), 'only' => ['login', 'logout', 'signup'], 'rules' => [ [ 'allow' => true, 'actions' => ['login', 'signup'], 'roles' => ['?'], ], [ 'allow' => true, 'actions' => ['logout'], 'roles' => ['@'], ], ], ], ]; }
public function actionSignup()
{ $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } } return $this->render('signup', [ 'model' => $model, ]); }
public function behaviors()
{ return [ 'access' => [ 'class' => AccessControl::className(), 'only' => ['login', 'logout', 'signup'], 'rules' => [ [ 'allow' => true, 'actions' => ['login', 'signup'], 'roles' => ['?'], ], [ 'allow' => true, 'actions' => ['logout'], 'roles' => ['@'], ], ], ], ]; }
public function actionSignup()
{ $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } } return $this->render('signup', [ 'model' => $model, ]); }
其他 1 个回答
-
return19931112 回答于 2019-02-21 16:51 举报
看看文档里面ACF授权,授权
林深不见你 昆明
注册时间:2019-01-24
最后登录:2019-07-29
在线时长:3小时50分
最后登录:2019-07-29
在线时长:3小时50分
- 粉丝1
- 金钱335
- 威望0
- 积分365