我已经用mysql后端设置了rubycas服务器。但当我尝试通过phpCAS客户端登录时,它被重定向到了rubycas服务器的url。但是在输入username&密码-我收到这个错误
CAS身份验证失败!
您未通过身份验证。
您可以单击此处再次提交请求。
如果问题仍然存在,您可以联系此网站的管理员。
你能告诉我…我的phpcas客户端出了什么问题吗。。请帮帮我。
当我们不使用SSL::setNoCasServerValidation();
时,这是开发服务器通常会出现的问题然而,即使在使用setNoCasServerValidation()
之后,CAS客户端也会使用https在内部调用curl
,这是导致此错误的主要原因。
所以要修复它,只需转到CAS库文件../CAS/CAS/Client.php
达到功能
private function _readURL($url, &$headers, &$body, &$err_msg){}
并添加此行
$url = str_replace("https", "http", $url);
作为函数_readURL(...
的第一行
请不要在生产环境中这样做,因为CAS建议在生产环境使用SSL。