代码审查Collaborator的单点登录——通过Java Servlet配置单点登录
Collaborator的代码审查可以为开发测试人员和管理者提供帮助,生产出高质量的代码。团队可以用它在一个透明、共同的框架中进行同行代码审查、用户示例和测试计划的编辑。
本文介绍如何使用Java servlet为Tomcat在SSO服务器和Collaborator之间建立单点登录。要了解单点登录的一般原理,请参阅单点登录。
下面我们将介绍如何在Collaborator和Apereo Central Authentication Service(CAS)之间建立单点登录。与其他供应商的单点登录服务器的集成以类似的方式执行。
启用HTTPS连接
大多数单点登录服务器使用HTTPS连接,因此您可能还需要为Collaborator服务器启用它。不要忘记重新启动Collaborator服务器以应用更改。
安装SSO服务器和客户端组件
在Apereo Central Authentication Service中,SSO服务器组件实现为Java servlet,并为不同的平台和技术(Java、.NET、PHP、Python等)提供SSO客户端。由于Collaborator是一个Java应用程序,我们将使用Java CAS客户端。
备注:
为了简化示例,我们将在同一个Tomcat服务器实例上安装CAS服务器和CAS客户端。
并非所有版本的CAS服务器和CAS客户端都相互兼容。例如,CAS服务器4.0不适用于CAS客户端3.3。在此集成中,将使用CAS服务器3.5.2和CAS客户端3.1.12。
安装和准备所需的软件:
1、下载CAS服务器存档文件并将其解压缩到临时文件夹。
2、将modules / cas-server-webapp-3.5.2.war文件复制到
3、下载CAS客户端存档文件并将其解压缩到另一个临时文件夹。
4、将所有文件从cas-client-3.1.12 / modules /文件夹复制到
将过滤器添加到Collaborator Tomcat服务器
在此步骤中,我们将向Tomcat服务器添加几个过滤器。这些过滤器将检测未经身份验证的用户,将其重定向到SSO服务器,验证用户并执行单一注销。
打开
CAS Authentication Filter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl https://yourcollabserver:8443/cas-server-webapp-3.5.2/login serverName https://yourcollabserver:8443 gateway false CAS Authentication Filter /ui/* /go/* CAS Validation Filter org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter casServerUrlPrefix https://yourcollabserver:8443/cas-server-webapp-3.5.2/ serverName https://yourcollabserver:8443 CAS Validation Filter /* CAS HttpServletRequest Wrapper Filter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CAS HttpServletRequest Wrapper Filter CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter CAS Single Sign Out Filter /* org.jasig.cas.client.session.SingleSignOutHttpSessionListener
提示:请记住替换yourcollabserverCollaborator服务器的实际URL
配置Collaborator服务器VM选项
在此步骤中,我们需要更改服务器的VM选项以启用Collaborator和CAS服务器之间的SSL连接,并指定注销重定向URL。
打开
-Djavax.net.ssl.keyStore=/tomcat/conf/collab.ks-Djavax.net.ssl.keyStorePassword= -Djavax.net.ssl.trustStore= /tomcat/conf/cacerts-Djavax.net.ssl.trustStorePassword= -Dsmartbear.ccollab.sso.logout.redirect.url=https://yourcollabserver:8443/cas-server-webapp-3.5.2/logout
后一个VM选项指定用户在Collaborator Web界面中单击"注销"时将重定向到的URL 。
或者,您可以通过设置VM选项从Collaborator Web界面中删除Logout链接,如下所示:
-Dsmartbear.ccollab.sso.logout.redirect.url=hide
在这种情况下,用户将手动执行从SSO服务器注销。
重新启动Collaborator服务器以应用VM选项中的更改。
为注销请求配置CAS属性
在此步骤中,我们将配置CAS服务器应如何处理注销请求。
1、打开Collaborator Web客户端。
2、打开
3、打开
# Specify whether CAS should redirect to the specified service parameter on /logout requestscas.logout.followServiceRedirects=true
重新启动Collaborator服务器
要应用所有更改,请重新启动Collaborator服务器。
CAS服务器的已知问题
目前,CAS服务器设置仅允许具有一致的登录、密码值。也就是说,密码必须与登录名具有相同的值。
由于cookie处理问题,CAS服务器单一注销功能可能无法与Collaborator Web客户端正常工作。即,从Collaborator Web客户端注销不会终止CAS服务器上的会话。因此,随后尝试打开任何Collaborator Web客户端或UI页面将不会重定向到CAS服务器登录页面,而是打开Collaborator标准登录页面。此问题不会影响或转到 Web客户端页面,但Collaborator Web客户端页面的主要部分是或UI页面并受到影响。为了避免这个问题: