CAS插件
CAS插件插件作用:让禅道支持 CAS 登录 测试版本:12.4,12.5.3 其他说明:安装完成后,会在原 登录 按钮 左侧,生成 单点登录 按钮,安装的时候,参考一下 安装文档,我已经尽量把文档写清楚了,插件里的一些代码,直接引用了,Github 上 zhoujunhe 的钉钉扫码代码,感谢他的开源代码。 重要说明:详细看 安装文档!详细看 安装文档!详细看 安装文档!404的问题也在安装文档里有说明。如果我有描述不清楚,或者代码错误的,麻烦邮件提醒我一下,我会及时更新修改。 特别说明:1、默认创建的用户所在组为『其他』,登录后可能提示没有权限,请使用管理员在『组织』-『权限』中对新建的用户进行权限设置2、token回调中,地址的拼接默认为:$config->requestType = 'PATH_INFO'; 一、插件安装
二、CAS服务器配置
三、插件配置
1.1(2021-04-16 18:14:31)1、使用URLEncode编码Service 2、默认使用Get跳转到登录地址 3、删除一些Mac的临时生成文件 感谢 Stanley Nian 的指教!1.0(2021-04-14 19:03:34) |
|
/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');
首先,配置文件中的serviceUrl应该是这个样子:
<你的禅道访问地址>?m=cas&f=tokenlogin
比如:https://zentao.example.com/www/?m=cas&f=tokenlogin
之后将这个URL做URLEncode后,赋给serviceUrl
第二步,修改module/cas/control.php,找到这一行:
$output = $this->cas->curl($gotoUrl);
修改为:
$output = $this->cas->curl($gotoUrl, [], 'GET');
上述修改针对版本:1.0(2021-04-14 19:03:34)
供大家参考
http:// 项目部署ip:端口 /cas-tokenlogin.html,麻烦抽空解答一下吧,谢谢