问题标签 [phpcas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何使用脚本终止 CAS 会话?
我们使用 CAS 和 phpCAS 来处理我们的 PHP 脚本和 CAS 之间的操作。对于我们更高级的 Web 应用程序之一,CAS 仅用于身份验证,而不用于会话管理。在我们的注销脚本中,我们希望终止 CAS 会话等。但是,我无法确定一种远程调用 phpCAS 以终止 CAS 会话的方法,而不会在浏览器中发生某种操作。
来自 phpCAS 文档:
phpCAS::logout()
注销后,CAS 服务器打印注销页面。phpCAS::logoutWithRedirectService($service)
注销后,CAS 服务器将浏览器重定向到给定的 URL。
选项 #1 重定向到 CAS 注销页面。选项 #2 重定向到给定的 URL。我们需要一个两者都不做的选项。
考虑这个代码片段:
phpCAS 将浏览器重定向到某处的默认操作会破坏此功能。这个脚本不应该重定向浏览器,将被异步调用,并且返回将一个变量发送回一个修改当前视图的 ExtJS 回调。
有谁知道我如何强制 CAS 服务器结束会话,无论是否使用 phpCAS,以允许此功能发生?
php - iframe 上的 PhpCAS 重定向循环
我有一个通过 phpCAS 进行身份验证的请求,并且在直接从 url 访问时工作正常(在浏览器上复制过去的 url)。
但是当我在 Iframe src 或按钮 href 中使用相同的 url 时,我得到了无限的重定向循环。
有任何想法吗 ?
感谢帮助
drupal - SSO 在一个系统上使用来自 drupal 的 drupal CAS 模块在另一个系统上对 java webapp 进行采样(具有不同的 ip)没有发生
我想为两个系统实现 SSO,一个在一个系统中的 php(drupal) 上运行,另一个在另一个服务器上的 java 上运行。为了实现这一点,我使用了 JASIG 的 CAS(中央身份验证服务)开源软件。我在我的 drupal 安装所在的机器上安装了 JASIG CAS 服务器。我还配置了 CAS 服务器的 JDBC 后端支持,并在安装了 drupal 的同一台机器上创建了一个用户身份验证数据库。然后我在我的drupal 安装中安装了drupal CAS 模块。然后在安装了drupal的同一台机器上,我在tomcat服务器上安装了一个示例java web应用程序(JASIG CAS也安装在同一台drupal机器上的同一台tomcat服务器上)。在示例 java web 应用程序中,我已将 web.xml 文件配置为包含 JASIG 中所述的 CAS java 客户端过滤器' 的网站。然后我在我的drupal安装主页中提供了示例java应用程序的链接。当我登录到 drupal 站点时,它通过 CAS 服务器身份验证登录并通过咨询 CAS 服务器用户身份验证数据库对用户进行身份验证。登录后,当我单击主页上的示例 Java 应用程序链接时,它不会要求我再次登录并打开示例 Java 应用程序页面,从而提供 SSO。现在,当我在不同的机器(具有不同的 ip)上配置相同的示例 java 应用程序并在我的 drupal 主页上提供不同机器的 java 应用程序的链接时,SSO 没有发生并且单击 java 应用程序的链接将我重定向到即使我通过 CAS 登录到 drupal 安装,CAS 登录页面也是如此。两台机器都通过局域网连接。请帮助我解决问题。如果您需要更具体的细节,请告诉我。提前致谢*强文本*
php - 警告:session_destroy():试图用 phpCas 销毁未初始化的会话
我今天遇到了 phpCas 库https://wiki.jasig.org/display/CASC/phpCAS的问题。
问题如下,当我尝试使用一些注销功能时,我收到了消息
在快速浏览了 phpCas 的库代码后,我设法找出问题出在哪里,这里是一个注销函数的片段:
那里的问题似乎是session_write_close()
实际上关闭会话然后session_destroy()
无法工作。
试图session_write_close()
发表评论并像魅力一样工作,但它导致了两个问题:
问题真的来自那里吗?或者它应该工作吗?
如果问题真的来自那里,为什么它在那里却没有人抱怨?认为 phpCas 是许多人使用的知名库。
php - CAS 认证失败!在使用 ohocas 客户端时
我已经用 mysql 后端设置了 rubycas-server。但是当我尝试通过 phpCAS 客户端登录时,它被重定向到 rubycas-server url。但是,输入用户名和密码后 - 我收到了这个错误
CAS 认证失败!
您未通过身份验证。
您可以点击此处再次提交您的请求。
如果问题仍然存在,您可以联系本站管理员。
你能告诉我……我的 phpcas 客户端出了什么问题……请帮帮我。
single-sign-on - phpCAS 单点注销或检查身份验证
我在我的应用程序上使用 phpCAS (v 1.3.2)。我想对 CAS 服务器进行定期检查,以确定用户是否已被其他参与的 SSO 应用程序注销。但是,每当我执行 phpCAS::checkAuthentication() 或 phpCAS::forceAuthentication() 时,即使其他一些应用程序已经注销,或者即使我使用 CAS 服务器的注销 url/链接直接注销,它也总是会返回经过身份验证的。我看到这是因为本地会话仍然存在,所以它不需要对服务器进行检查。销毁这个会话是其他应用程序的责任吗?
另一种方式工作得很好——也就是说,我在我的应用程序上注销(w/c 正在使用 phpCAS)然后我也与其他参与的 sso 应用程序甚至在服务器的门户上注销。顺便说一句,我已经尝试了 CAS 库提供的所有示例。没有工作。
我错过了什么?
php - 是否可以在没有 phpCAS 的情况下在 CAS 响应中获取属性?
我们在几个带有 phpCAS 的站点上使用 CAS。它返回包含用户名和一些属性(如电子邮件和显示名称)的响应。
因此,以下内容呼应了所有属性(全名、电子邮件等......)
现在,我正在尝试查看是否可以在没有 phpCAS 的情况下执行此操作,以便我们可以将其作为插件共享,而无需用户安装 phpCAS。
我收到了回复,我能够对用户进行身份验证,所以基本上,它可以工作,但我只在回复中获得用户名。我需要做什么才能在没有 phpCAS 的情况下获取这些属性?
如果我理解正确,这可能与声明 SAML 可能需要获取属性有关:
所以,也许我的问题应该是,有没有办法在没有 phpCAS 的情况下完成同样的事情?
spring-security - phpCAS::isAuthenticated returning false after login in different service
I've configured the CAS login page so that it accepts the username and password as GET parameters and if these are provided, it submits the login form automatically. This looks as the CAS login page is not even touched during authentication from the website.
The website is using phpCAS version 1.3.2 to communicate with CAS. If I log in directly through the form, It works as expected: the browser gets redirected back from CAS correctly and isAuthenticated()
returns true. However if I log in to a different service beforehand, isAuthenticated()
returns false. If I'm not mistaken this is because I have to do an actual check with CAS if the auth is fine, therefore I've also tried checkAuthentication()
, but I get the following errors:
PHP Code:
I see that checkAuthentication()
fails to retrieve a Proxy Granting Ticket, but I have no clue about the reason. Any ideas? I also have a page with forceAuthentication()
, and it works flawlessly.
php - 带有 phpCAS 和示例的不可能的 SSL CAS 证书。它只在没有 SSL 服务器验证的情况下工作
我正在与我正在与我的大学一起做的项目进行 CAS 集成。最终的集成应该使用 symfony2,但是首先我需要让示例代码工作。
我终于开始使用phpCAS 1.3.2处理example_simple.php示例,但是指令:
是启用的。我想我应该改用:
但是,当我启用第二个(并禁用另一个)时,授权不再起作用。这是日志的相关输出行错误:
cas 服务器为我提供了两个 .crt 文件:
- MYCASRootCA.crt
- MYCASLinuxSUBCA.crt
并且它们应该安装在我的系统中(Ubuntu 13.10)。它们位于不同的位置,例如 /etc/ssl/certs/MYCASLinuxSUBCA.pem 以及:
- /usr/share/ca-certificates/lut/MYCASRootCA.crt
- /usr/share/ca-certificates/lut/MYCASLinuxSUBCA.crt
因此,假设变量 $cas_server_ca_cert_path 必须具有这些 .crt 文件或 .pem 目录之一(例如/usr/share/ca-certificates/lut/MYCASLinuxSUBCA.crt),我无法使其工作。我做错了什么?我的客户端服务器(没有 cas 服务器)在我的本地主机中。这是个问题吗?我应该避免使用 setCasServerCACert 命令吗?为什么会这样?
我还尝试使用我的 XAMP 安装(Xampp 1.8.3)提供的 curl-ca-bundle.crt 证书。
如您所见,我对证书有点迷茫。
我在https://github.com/Jasig/phpCAS/issues?state=open中阅读了有关 phpCAS 和最新 Ubuntu 版本的问题。但是,即使没有认证(默认情况下),我也无法使用主代码进行此操作。
任何想法,将不胜感激...
cas - CAS登录成功后的空白页面
我在Tomcat 6中安装了CAS 3.4.12,带有OpenLDAP,openssl ..我尝试应用phpCAS,但我得到空白页..和浏览器中的URL:
http://sso.jarkom.com/index.php?ticket=ST-7-nqIcVhNfOwPDVDRodaEK-cas
任何人都可以帮助我找到错误并解决它......??
这是示例 phpCAS 的源代码