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服务器,验证用户并执行单一注销。

打开 /tomcat/webapps/ROOT/WEB-INF/web.xml文件并向其追加以下行:


  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。

打开 /ccollab-server.vmoptions文件并向其添加以下行:

-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、打开 /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/文件夹,等待在此文件夹中创建名为cas.properties的文件。该cas.properties文件从部署CAS服务器,web应用,3.5.2.war Web应用程序归档,所以创建它可能需要一些时间。

3、打开 /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/cas.properties文件,并将该cas.logout.followServiceRedirects属性的值设置为true:

# Specify whether CAS should redirect to the specified service parameter on /logout requests
cas.logout.followServiceRedirects=true

重新启动Collaborator服务器

要应用所有更改,请重新启动Collaborator服务器。

CAS服务器的已知问题

  • 目前,CAS服务器设置仅允许具有一致的登录、密码值。也就是说,密码必须与登录名具有相同的值。

  • 由于cookie处理问题,CAS服务器单一注销功能可能无法与Collaborator Web客户端正常工作。即,从Collaborator Web客户端注销不会终止CAS服务器上的会话。因此,随后尝试打开任何Collaborator Web客户端或UI页面将不会重定向到CAS服务器登录页面,而是打开Collaborator标准登录页面。此问题不会影响或转到 Web客户端页面,但Collaborator Web客户端页面的主要部分是或UI页面并受到影响。为了避免这个问题:

代码审查Collaborator的单点登录——通过Java Servlet配置单点登录_第1张图片