icalab / yii2-ica-authentication
基于默认YII2 RBAC机制的认证和管理用户扩展。
This package is not auto-updated.
Last update: 2024-09-28 18:21:16 UTC
README
基于Yii的项目认证机制。提供密码重置机制和角色分配编辑器。已更新为Yii 2。
使用方法
此认证机制扩展了默认的Yii 2 RBAC机制(见:https://yiiframework.cn/doc-2.0/guide-security-authorization.html#role-based-access-control-rbac),特别是DbManager(见:https://yiiframework.cn/doc-2.0/yii-rbac-dbmanager.html)。配置这些并不要忘记使用命令初始化数据库
php yii migrate --migrationPath=@yii/rbac/migrations/
注意,您还需要将认证配置添加到控制台配置中。
接下来,在控制台配置和Web配置中设置i18n。
完成所有这些后,运行迁移
php yii migrate --migrationPath=@icalab/auth/migrations
接下来运行init命令
php yii ica-init-auth
这将设置用户表和重置密码表。它还将创建一个具有admin@admin.com作为电子邮件/登录名,密码为"admin",以及编辑和更新其他用户所需角色的管理员用户。
接下来,您需要告诉应用程序使用ICALab用户模型而不是默认模型。将
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
更改为
'user' => [
'identityClass' => 'icalab\auth\models\User',
'enableAutoLogin' => true,
],
您还需要让默认的SiteController使用ICALab LoginForm模型而不是默认模型。将
use app\models\LoginForm;
更改为
use icalab\auth\models\LoginForm;
添加新用户的URL是user/create。
现有用户的列表URL是user/index。
用户可以通过首先使用名为email的post变量调用password-reset-generate来请求新密码。如果电子邮件地址指向已知的用户,将生成新的重置令牌并发送包含重置页面链接的电子邮件消息。如果电子邮件地址是未知的,则不执行任何操作。在两种情况下,都不会生成输出。
待办事项
这是对Yii 1 ICA Authentication机制的快速更新(https://github.com/HAN-ICA-ICT/yii-ica-authentication)。由于我们很匆忙,因此尚未实现角色和权限编辑器。测试也尚未实现。然而,它确实有效,并在多个项目中已被证明是有用的。