大侠实验室 / yii2-cas-client
为 Yii2 的 CAS 认证
1.0.0
2018-07-25 03:24 UTC
Requires
- php: >=5.4.0
- jasig/phpcas: ^1.3
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-06 02:43:11 UTC
README
使用 phpCAS 库通过 CAS 实现认证和用户本地记录更新的 Yii2 库。
用法
-
使用
composer require daxslab/yii2casclient
将此库添加到项目中 -
配置 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 ], ],
-
添加使用此 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\IdentityInterface
的 user
组件将在查询 CAS 服务器后用于获取本地配置文件。这意味着如果 User
是应用程序组件且 CAS 返回用户名为 "bibendum",则只有当 User::findIdentity("bibendum")
的结果不为空时,认证才成功。
操作路径 '/cas/auth/login' 以应用程序配置中定义的模块别名开头,例如 'modules' => [ 'cas' => [ ... ] ]
中的 'cas'
。
使用 profileClass
和 userClass
配置参数更新配置文件和用户表。更新过程基于 CAS 服务器和本地配置文件及用户表之间的共同属性。