代码审查Collaborator教程:单点登录——通过Java Servlet配置单点登录

翻译|使用教程|编辑:莫成敏|2019-08-19 16:07:52.137|阅读 32 次

概述:​Collaborator的代码审查可以为开发测试人员和管理者提供帮助,生产出高质量的代码。本文介绍如何使用Java servlet为Tomcat在SSO服务器和Collaborator之间建立单点登录。

Collaborator的代码审查可以为开发测试人员和管理者提供帮助,生产出高质量的代码。团队可以用它在一个透明、共同的框架中进行同行代码审查、用户示例和测试计划的编辑。

点击下载Collaborator免费版

本文介绍如何使用Java servlet为Tomcat在SSO服务器和Collaborator之间建立单点登录。要了解单点登录的一般原理,请参阅单点登录

下面我们将介绍如何在Collaborator和Apereo Central Authentication Service(CAS)之间建立单点登录。与其他供应商的单点登录服务器的集成以类似的方式执行。

启用HTTPS连接

大多数单点登录服务器使用HTTPS连接,因此您可能还需要为Collaborator服务器启用它。有关说明,请参阅配置HTTPS。不要忘记重新启动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服务器,验证用户并执行单一注销。

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

<filter>
  <filter-name>CAS Authentication Filter</filter-name>
  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  <init-param>
    <param-name>casServerLoginUrl</param-name>
    <param-value>https://yourcollabserver:8443/cas-server-webapp-3.5.2/login</param-value>
  </init-param>
  <init-param>
    <param-name>serverName</param-name>
    <param-value>https://yourcollabserver:8443</param-value>
  </init-param>
  <init-param>
    <param-name>gateway</param-name>
    <param-value>false</param-value>
  </init-param>

</filter>
<filter-mapping>
  <filter-name>CAS Authentication Filter</filter-name>
  <url-pattern>/ui/*</url-pattern>
  <url-pattern>/go/*</url-pattern>
</filter-mapping>

<filter>
  <filter-name>CAS Validation Filter</filter-name>
  <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
  <init-param>
    <param-name>casServerUrlPrefix</param-name>
    <param-value>https://yourcollabserver:8443/cas-server-webapp-3.5.2/</param-value>
  </init-param>
  <init-param>
    <param-name>serverName</param-name>
    <param-value>https://yourcollabserver:8443</param-value>
  </init-param>

</filter>
<filter-mapping>
  <filter-name>CAS Validation Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
  <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
  <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
  <filter-mapping>
  <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
</filter-mapping>

<filter>
  <filter-name>CAS Single Sign Out Filter</filter-name>
  <filter-class>org.jasig.cas.client.session.SingleSignOutFilter
</filter-class>
</filter>
<filter-mapping>
  <filter-name>CAS Single Sign Out Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
  <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

提示:请记住替换yourcollabserverCollaborator服务器的实际URL

配置Collaborator服务器VM选项

在此步骤中,我们需要更改服务器的VM选项以启用Collaborator和CAS服务器之间的SSL连接,并指定注销重定向URL。

打开<Collaborator服务器安装> /ccollab-server.vmoptions文件并向其添加以下行:

-Djavax.net.ssl.keyStore=<Collaborator Server>/tomcat/conf/collab.ks
-Djavax.net.ssl.keyStorePassword=<the keystore password>
-Djavax.net.ssl.trustStore=<Collaborator Server>/tomcat/conf/cacerts
-Djavax.net.ssl.trustStorePassword=<the truststore password>
-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、打开<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/文件夹,等待在此文件夹中创建名为cas.properties的文件。该cas.properties文件从部署CAS服务器,web应用,3.5.2.war Web应用程序归档,所以创建它可能需要一些时间。

3、打开<Collaborator Server> /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页面并受到影响。为了避免这个问题:

1、打开<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml文件,并将该p:cookieSecure属性的值设置为false:

<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />

2、从Collaborator Web客户端和CAS服务器注销。

3、清除浏览器cookie。

或者,您可以禁用LogoutCollaborator Web界面中的链接并从CAS服务器执行注销。

相关文章:

Collaborator教程:什么是单点登录?Collaborator单点登录的几个验证方法

代码审查Collaborator教程:单点登录——通过SAML配置单点登录(上)

代码审查Collaborator教程:单点登录——通过SAML配置单点登录(下)

代码审查Collaborator教程:单点登录——通过Crowd OpenID配置单点登录


想要购买Collaborator正版授权,或了解更多产品信息请点击“咨询在线客服”

扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯

1563778777.jpg




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Collaborator

Collaborator是一款功能全面的代码审查工具。

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat