大侠实验室/yii2-cas-client

为 Yii2 的 CAS 认证

安装: 53

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 3

分支: 3

类型:yii2-extension

1.0.0 2018-07-25 03:24 UTC

This package is auto-updated.

Last update: 2024-09-06 02:43:11 UTC


README

使用 phpCAS 库通过 CAS 实现认证和用户本地记录更新的 Yii2 库。

用法

  1. 使用 composer require daxslab/yii2casclient 将此库添加到项目中

  2. 配置 Yii2 应用程序,例如在 backend/config/main.php

    return [
        ...
        'session' => [
            'class' => 'poofe\yii2casclient\cas\Session',
            ...
        ],
        'modules' => [
            'cas' => [
                'class' => \daxslab\yii2casclient\cas\CasModule::class,
                'profileClass' => \common\models\Profile::class,
                'userClass' => \common\models\User::class,
                'config' => [
                'host' => '192.168.0.113',
                'port' => '8000',
                'path' => 'rrhh/default/user/cas',
                // optional parameters
                'certfile' => false, // empty, or path to a SSL cert, or false to ignore certs
                'debug' => true, // will add many logs into X/runtime/logs/cas.log
                ],
            ],
    
  3. 添加使用此 CAS 模块的 actions,例如在 SiteController

    public function actionLogin()
    {
        if (!Yii::$app->user->isGuest) {
            return $this->goHome();
        }
        return $this->redirect(['/cas/auth/login']);
    }
    
    public function actionLogout()
    {
        if (Yii::$app->user->isGuest) {
            return $this->redirect(['/cas/auth/logout']);
        }
        return $this->goHome();
    }
    

注意

实现 yii\web\IdentityInterfaceuser 组件将在查询 CAS 服务器后用于获取本地配置文件。这意味着如果 User 是应用程序组件且 CAS 返回用户名为 "bibendum",则只有当 User::findIdentity("bibendum") 的结果不为空时,认证才成功。

操作路径 '/cas/auth/login' 以应用程序配置中定义的模块别名开头,例如 'modules' => [ 'cas' => [ ... ] ] 中的 'cas'

使用 profileClassuserClass 配置参数更新配置文件和用户表。更新过程基于 CAS 服务器和本地配置文件及用户表之间的共同属性。