sakai:2.7.1
cas-server:3.4.3.1
cas-client:3.1.12
关于sakai如何配置单点登录官方有一篇教程,http://confluence.sakaiproject.org/display/~steve.swinsburg/CASifying+Sakai.不过里面使用的cas-client版本较低,目前cas官方最新版本已经是3.1.12。新版本和老版本差异极大,不可能再按照sakai官方给出的教程来配置cas,所以要么使用老版本的cas,要么去cas官方查看文档自己进行配置。我使用了3.1.12版本,为了便于以后查阅,特将配置过程记录下来。
通过web.xml进行配置:
通过编辑/webapp/sakai-login-tool/web-inf/web.xml文件添加如下filter:
首先配置Authentication Filter
<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://yourdomain:port/cas/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://yourdomain:port/client</param-value>
</init-param>
</filter>
接着配置Validation Filter
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://yourdomain:port/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>https://yourdomain:port/clietn</param-value>
</init-param>
</filter>
然后配置HttpServletRequestWrapperFilter
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
最后配置AssertionThreadLocalFilter
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
可以看出配置实际上是挺简单的,和使用老版本其实差不多,只是对filter类的引用不同。需要指出的是上面filter的顺序是不可以改变的,另外第一步,第二步可以有多种选择,cas提供了多个不同的filter,具体可以参考官方文档。除了为web.xml添加相应的filter以外,还要配置sakai.properties文件,具体如下:
login.use.xlogin.to.relogin=false
top.login=false
container.login = true
loggedOutUrl=http://localhost:8080/cas/logout?service=http://localhost:8080
#如果同时使用cas登录和sakai内部登录,可以添加如下配置
xlogin.text=Login
xlogin.enabled=true
配置到这里基本已经完成,但是如果你直接使用cas-server中的war包,可能会遇到退出后不能跳转到指定的页面,这时需要修改下cas-server的配置:
<bean id="logoutController" class="org.jasig.cas.web.LogoutController"
p:centralAuthenticationService-ref="centralAuthenticationService"
p:logoutView="casLogoutView"
p:warnCookieGenerator-ref="warnCookieGenerator"
<!--添加followServiceRedirects-->
p:followServiceRedirects="true"
p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator" />
注意使用的cas帐户必须存在于sakai中,否则无法正常登录。
详细参考cas官方文档:https://wiki.jasig.org/display/CASUM/Home
cas-client 3.1配置:https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1
到这一步对于cas的配置久涮完成了,当然如果需要实现单点登出则还需要进行一些配置,这里就不写出来了,官方有相应的文档。
对cas进行相应配置后,还需要配置ssl,如果不是安全连接,cas就不会发布TGC。如何配置ssl就不赘述了,网上有很多资料,这里
将我遇到的一个问题记录一下:
我的sakai和cas服务器是在统一个tomcat里,而另外一个web服务在别的机器上,在配置完成后发现会抛出如下异常
PKIX path building failed: unable to find valid certification path to requested target
虽然知道是数字签名的问题,但是实在不知到如何解决,后来在网上查到需要将数字签名导入,于是将有cas的数字签名通过如下命令导入到
另一台机子,才解决了问题。
keytool -import -trustcacerts -alias cng_domain -file cas.crt -keystore % $JAVA_HOME/jre/lib/scurity/cacerts
[思开社区
http://www.sakai-edu.net]
分享到:
相关推荐
**Sakai 2.6配置详解** Sakai是一个开源的教育软件平台,它提供了丰富的协作和学习工具,广泛应用于高等教育、K-12学校、企业培训等场景。Sakai 2.6是该平台的一个较早版本,虽然现在已经有了更先进的版本,但了解...
### Sakai 的安装与配置详解 #### 一、概述 Sakai 是一款开源的教育协作平台,广泛应用于教育机构中。本文档旨在详细介绍 Sakai 2.9.0 版本的安装与配置过程,并解决在安装过程中可能遇到的一些常见问题。 #### ...
在本文中,我们将详细探讨如何部署Sakai教育平台,主要关注环境准备、MySQL数据库的安装与配置,以及Sakai的部署流程。Sakai是一个开源的学习管理系统,广泛用于教育机构,支持教学、协作和评估活动。让我们一步步来...
**源码版本Sakai安装配置详解** Sakai是一款开源的在线学习管理系统,它提供了丰富的教学工具,如课程管理、讨论区、评估系统等,适用于教育机构和企业进行在线教育。本文将详细介绍如何通过源代码版本在本地环境中...
这个压缩包文件"sakai-src-2.9.0"包含了Sakai 2.9.0版本的全部源代码,为我们提供了深入洞察Sakai架构和工作原理的窗口。 首先,我们需要了解Sakai的核心设计理念。Sakai基于服务导向架构(Service-Oriented ...
### Sakai开发文档知识点概述 #### 一、Sakai简介 - **定义与起源**:Sakai是一项由美国的几所顶尖大学——印第安纳大学、密歇根大学、斯坦福大学以及麻省理工学院共同发起的开源课程管理系统(CMS)项目。该项目始于...
5. **JSF配置**:Sakai可能还使用JavaServer Faces(JSF)技术,`faces-config.xml`是JSF应用的核心配置文件。在修改样式时,如果涉及到JSF组件的行为,可能需要在此文件中进行相应的配置调整。 在进行Sakai的样式...
Sakai是一个开源的教育软件平台,它为全球的教育机构提供了一个协作和学习的环境。Sakai框架与内核是其核心组成部分,它们共同构成了一个强大的系统架构,支持各种教学和学习应用的开发与集成。 一、Sakai框架 ...
- **路径分割**:将请求路径分割为多个部分,并通过 `portalService.getHandlerMap(this)` 获取对应的处理器。 - **处理器执行**:通过 `ph.doGet(parts, req, res, session)` 调用处理器的 `doGet` 方法来处理...
它是Sakai网站的主要入口点之一,相较于之前的版本,Charon在用户界面和功能方面进行了改进,特别是在站点导航标签的控制上提供了更多的自定义选项。 #### 三、Charon的工作原理 **1. 构建机制** Charon位于Sakai...
"SAKAI"这个名字来源于日语,意为“工具”,象征着它作为教育工具集的角色。 ### 二、历史演变 2004年,SAKAI发布了第一个稳定版本,随后的几年里,它经历了多个版本迭代,不断改进用户体验,增强功能,并扩大了其...
教育机构应根据自身的教学目标和技术条件,灵活调整Sakai的使用策略,充分发挥其开放性带来的优势,为师生创造更加丰富和个性化的学习体验。 #### 发展方向展望 随着教育技术的不断进步,Sakai也在持续进化,未来...
sakai安装文档,很有用的安装Sakai App Builder
【描述】"sakai-javadoc-2.9.3.tgz" 是 Sakai 2.9.3 版本的 Java 文档(Javadoc)压缩文件,格式为 TGZ。Javadoc 是一种由 Java 编程语言提供的工具,用于自动生成关于 Java 类库的文档,包括类、接口、方法等的详细...
Sakai 是由高校、商业组织和个人开发者组成的社区,致力于开发一个通用的协作学习环境(Collaboration and Learning Environment,CLE)。Sakai是基于Educational Community License(开源软件许可证的一种)的教育软件...
标题 "sakai-portal-api-2.9.0-b05.zip" 暗示了这是一个关于Sakai门户API的版本包,版本号为2.9.0的b05迭代。Sakai是一个开源的教育软件平台,主要用于构建网络学习环境,它提供了丰富的工具和服务,如课程管理、...
- 使用MySQL客户端登录,创建名为`sakai`的数据库,并分配一个特定的用户(例如:`edu1/123456`)权限访问这个数据库。执行如下SQL语句: ``` CREATE DATABASE sakai; GRANT ALL PRIVILEGES ON sakai.* TO 'edu1...
开发者可以深入理解其内部机制,进行自定义开发,或者为项目贡献代码。Sakai的源码结构清晰,采用Java语言编写,遵循Maven构建系统,使得开发者能够方便地集成到现有的开发环境中。通过阅读和分析源码,我们可以了解...
- **混合云环境**:在混合云架构下,Sakai的身份验证服务可能需要与外部的身份提供商(Identity Provider, IdP)进行交互,以便支持单点登录等功能。 - **多租户环境**:在提供给多个独立机构使用的Sakai平台中,每...