问题描述:通过CAS 客户端和phpBB整合(这个网上教程一大堆),我们会发现整合后存在的问题:当我们看论坛进入论坛的内部版块中的帖子的时候,你想回复,但是那时候你还没有登录,就会要求你CAS去登陆,登录后就会出现逆登录的forum不存在问题,细看URL的话就发现URL后面的参数缺失。
修改:phpBB3/includes/CAS 下的client.php页面查找方法 function getURL() 这个方法是取到你没登陆前你浏览时候到了那个页面。
这样登录成功的时候的URL就不会缺失部分参数但是仍然存在问题,就是当一个用户登录的时候会产生一个新的SID原来浏览时候的SID和新的不同,虽然登陆成功的时候重定向的URL中的参数都正确,但是SID是匿名时候用的SID 因此会从定向到index+新的SID。
修改phpBB3/includes/CAS 下的client.php页面查找方法 function getURL()
find // remove the ticket if present in the CGI parameters 加上
然后修改phpBB3/includes下的functions.php
在function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true)方法里
好了,问题解决了。