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服务器,验证用户并执行单一注销。
打开<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页面并受到影响。为了避免这个问题:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。