`
liuyf
  • 浏览: 35214 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

为sakai配置单点登录

阅读更多
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]
1
0
分享到:
评论

相关推荐

    sakai使用手册

    ### Sakai 使用手册知识点解析 #### 一、主页/站点简介 **1. 概述** - **说明:** 主页或站点简介是Sakai平台的入口界面,提供了整个站点的基本信息概览。 - **概念解释:** “站点简介”通常包含站点的目的、...

    iclicker-sakai-integrate

    此版本的插件可与Sakai v2.8或更高版本(包括Sakai 10)一起使用,并支持单点登录。 在没有SSO的情况下运行Sakai v2.3-2.7的用户可以使用以前版本的插件。 i&gt; clicker集成插件不支持早于2.3版的Sakai的

    sakai_3ck_01a_0518.pdf

    这些数据为设计者提供了重要的参考信息,有助于他们选择合适的模块和配置,以达到所需的传输速率。 通道模拟方面,报告描述了详细的模拟条件,包括发射机输出振幅、单端终端电阻、设备电容、传输函数、通道模型等。...

    sakai_3ck_01_0718.pdf

    在高速通信领域,Socionext公司研究人员Hiroki Miyaoka和Toshiaki Sakai所发表的HSI-PR0100-001文档中,详细探讨了C2M(芯片到模块)传输在100Gb/s速率下的可行性。文档指出,除了简单的插入损耗(IL)讨论外,还...

    sakai_3ck_01b_0918.pdf

    Rd是单端终端电阻,而Cd则是单端电容。 通过这些详尽的描述和数据,我们可以看出文档着重于细致地分析和比较不同配置下的背板通道性能,这对于设计和优化高速通信系统的物理层是非常重要的。在通信系统设计中,理解...

    2009系统架构师大会PPT:苏占玖:开放式插件系统研究

    - **Portal**:提供内容聚合、单点登录、个性化定制和安全管理等服务。 - **JSR168 和 JSR286**:定义了本地Portlet规范,用于部署在容器内部生成动态内容的Web组件。 - **WSRP**:Web Services for Remote Portlets...

    uPortal, 面向高等教育社区构建的企业开放源代码门户.zip

    uPortal是一种专为高等教育机构设计的开源企业级门户系统。它允许这些机构创建一个集中的、个性化的入口,以提供访问各种服务、信息和应用程序,包括课程管理、图书馆资源、电子邮件、学术支持等。作为一个面向高等...

Global site tag (gtag.js) - Google Analytics