这个插件,主要是为了让禅道支持 cas 登录 支持php8.0,原则上向下兼容。如果不兼容,请修改extension/custom/cas里的代码CAS插件 插件作用:让禅道支持 CAS 登录 测试版本:17.8 其他说明:安装完成后,会在原 登录 按钮 左侧,生成 单点登录 按钮,安装的时候,参考一下 安装文档,我已经尽量把文档写清楚了,插件里的一些代码,直接引用了,Github 上 zhoujunhe 的钉钉扫码代码,感谢他的开源代码。 重要说明: 详细看 安装文档! 详细看 安装文档! 详细看 安装文档!404的问题也在安装文档里有说明。如果我有描述不清楚,或者代码错误的,麻烦邮件提醒我一下,我会及时更新修改。 登出改造 /opt/zbox/app/zentao/module/user/control.php中 logout函数里 public function logout($referer = 0) { if(isset($this->app->user->id)) $this->loadModel('action')->create('user', $this->app->user->id, 'logout'); session_destroy(); setcookie('za', false); setcookie('zp', false); if($this->app->getViewType() == 'json') die(json_encode(array('status' => 'success'))); $vars = !empty($referer) ? "referer=$referer" : ''; $this->locate($this->createLink('user', 'login', $vars)); } 注释掉 注释掉$this->locate($this->createLink('user', 'login', $vars)); 增加 header('location:https://cas.aaaa.com:8443/cas/logout?service=http%3A%2F%2Fzentao.aaaa.com%2Fzentao%2F');
特别说明:
1、默认创建的用户所在组为『其他』,登录后可能提示没有权限,请使用管理员在『组织』-『权限』中对新建的用户进行权限设置
2、token回调中,地址的拼接默认为:$config->requestType = 'PATH_INFO';
一、插件安装
安装方法1:源码安装
下载插件
将解压插件到本地
将下面两个目录,复制到禅道的根目录
config
module
安装方法2:插件安装
下载插件
登录管理员账号,后台->插件->本地安装->选择zip包-> 安装
二、CAS服务器配置
增加下面几个属性,CAS返回时key值要跟下面一样,如果没有办法修改 CAS返回的key值,就到 extension/custom/cas/control.php 进进行修改映射。
name 用户的名称,就是真实姓名
email 用户的邮箱
mobile 用户的手机号
account 用户名,需要在禅道里生成的账号名。
三、插件配置
配置文件在 config/ext/cas.php
$config->cas->loginUrl 修改为 cas 的登录url
$config->cas->authUrl 修改为 cas token的认证路径
$config->cas->serviceUrl 禅道应用的 token 回调地址,如果禅道在网站根路径上,只需要修改域名,否则修改成禅道URL根路径。 如果回调的时候,出现404,大概率是这里的地址配置错误,我在测试的禅道URL根路径是 http://xxxxx/ ,有的是. http://xxxx/zentao/,所以需要根据实际进行修改
1.2(2023-01-04 09:50:17) |
|
发表评论