【发布时间】:2019-03-15 15:07:45
【问题描述】:
我正在使用 Yii2 用 php 开发一个网站,但我遇到了 Rbac 问题。我遵循了官方指南,运行了迁移,现在我的数据库中有四个默认表,它们定义了我的角色和权限。现在我不知道如何将这些角色集成到我的项目中,我的意思是我希望有一些视图只对具有特定权限的用户可见,但无法理解实现这一点的方式。
我也登录有问题,不知道怎么区分按钮点击。
登录(查看):
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button', 'value' => 'login']) ?>
<?= Html::submitButton('Register', ['class' => 'btn btn-primary', 'name' => 'register-button', 'value' => 'register']) ?>
</div>
</div>
站点控制器:
public function actionLogin()
{
if (!Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new LoginForm();
if (isset($_POST['submit']) && $_POST['submit']=='login') {
return $this->goBack();
}
if (isset($_POST['submit']) && $_POST['submit']=='register') {
return $this->render('register');
}
return $this->render('login', [
'model' => $model,
]);
}
我只需要在单击右键后以不同的视图呈现用户。如果单击登录按钮,我想在登录视图中重定向,如果单击注册按钮,我想在注册视图中重定向。
【问题讨论】:
-
按钮注册有用吗?你有 actionRegister 吗?
-
按钮注册不起作用,它与登录按钮相同。我没有 actionRegister,只有你看到的 actionLogin。
-
最好使用 Yii::$app->request->post() 并且你有 2 个按钮提交同一个表单?不是个好主意。