将 Yii 2 应用程序连接到身份提供者以实现单点登录

维护者

详细信息

github.com/dmsylvio/sso

源代码

问题

安装: 44

依赖关系: 0

建议: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2019-02-11 12:54 UTC

This package is auto-updated.

Last update: 2024-09-12 04:41:35 UTC


README

将 Yii 2 应用程序连接到身份提供者以实现单点登录

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

composer require --prefer-dist dmsylvio/sso "dev-master"

或者在您的 composer.json 文件的 require 部分添加

"dmsylvio/sso": "dev-master"

数据库迁移

检查您的数据库设置,并在控制台运行迁移

php yii migrate --migrationPath=@vendor/dmsylvio/sso/migrations

更多信息请参阅 数据库迁移文档

配置

要访问模块,您需要将其添加到应用程序配置中

......
'modules' => [
    'sso' => [
        'class' => 'app\vendor\dmsylvio\sso\Access',
    ],
],
......

在 config/params.php 中配置系统 ID

return [
  'adminEmail' => 'admin@example.com',
  'systemId'	=>	'2',
  'systemName' => 'teste',
  'systemDesc' => 'Sistema de teste',
];

将新菜单项添加到您的导航栏:[不是必需的] ~ 仅用于验证 sso 是否已安装

......
['label' => 'sso', 'url' => ['/sso']],
......

You may have to customize the user rights for the access log view. You could do it by editing ```behaviors/AccessRule.php```.

举例说明手动使用

这是从模块 dmsylvio/yii2-accounts 的登录方法中的一个示例。

use app\vendor\dmsylvio\sso\behaviors\AccessRule;

......
 /**
 * {@inheritdoc}
 */
public function behaviors(){

    $controllername  = Yii::$app->controller->id;

    $behaviors = [
        'access' => [
            'class' => AccessControl::class,
            'ruleConfig' => [
                'class' => AccessRule::class,
            ],
            'only' => AccessRule::getActions($controllername),
            'rules' => AccessRule::getRoles($controllername),
        ],
        'verbs' => [
            'class' => VerbFilter::class,
            'actions' => [
                'delete' => ['post'],
            ],
        ],
    ];

    return $behaviors;
}
......