我正在使用Yii2 (基本)和Yii2-user的一个网站的用户。对于大多数操作,都需要进行身份验证。如何使控制器/操作可作为来宾访问?
我已经在来宾的控制器中尝试过这样的东西:
'rules' => [
[
'allow' => true,
'actions' => ['index', 'confirm', 'download-form', 'upload-form'],
]
],这应该足够了。但不是的。我怀疑是me i2-user模块挡住了我的去路,并且总是将我重定向到登录。
我在web.php配置中添加了模块,如下所示:
'components' => [
...
...
'user' => [
'class' => 'nkostadinov\user\components\User',
'identityClass' => 'nkostadinov\user\models\User',
'enableConfirmation' => false,
'as firstLoginPolicy' => [
'class' => 'nkostadinov\user\behaviors\FirstLoginPolicyBehavior'
],
],
],有什么想法吗?
发布于 2021-08-20 12:07:34
我已经解决了它,如下所示。
在我的web.php配置中,我有这样的配置:
'modules' => [
...
],
'as access' => [
'class' => \yii\filters\AccessControl::className(),//AccessControl::className(),
'rules' => [
[
'actions' => ['login', 'error', 'request', 'change-password'],
'allow' => true,
'roles' => ['?']
],
[
//'actions' => ['logout', 'index'], // add all actions to take guest to login page
'allow' => true,
'roles' => ['@'],
],
],
],
'params' => [ ... ]因此,我添加了这个新规则,以授予访客用户访问此控制器的所有操作的权限:
[
'controllers' => ['mymodule/my-controller'],
'allow' => true,
],就是这样。
发布于 2021-09-15 03:06:00
我建议您使用mdmsoft/yii2 i2-admin进行身份验证
https://stackoverflow.com/questions/68861480
复制相似问题