icalab/yii2-ica-authentication

此包的最新版本(dev-master)没有可用的许可证信息。

基于默认YII2 RBAC机制的认证和管理用户扩展。

安装: 173

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2016-05-26 12:49 UTC

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)。由于我们很匆忙,因此尚未实现角色和权限编辑器。测试也尚未实现。然而,它确实有效,并在多个项目中已被证明是有用的。