`

CAS-单点登录环境安装+JDBC支持配置

阅读更多

由于工作原因,很久没有写点东西了。

写在另一个博客上:

http://cid-5c0c98dd2e25c135.spaces.live.com/blog/cns!5C0C98DD2E25C135!128.entry

哎,space太慢了,很久没有使用了,还不容易使用一次啊,还赶上了逼迁啊。算了,还是使用国内的吧。

可恶的网易,这技术文章也要阉割,好吧,我直接贴出来。

 

 

一:软件准备

apache-tomcat-6.0.26

mysql5.1

cas-server-3.4.2.1-release

cas-client-3.1.10-release

 

二:安装数据库

参见在win7下安装绿色版mysql

三:配置cas-服务端

1)将cas.war文件拷贝到tomcat webapps目录下面

2)增加jdbc数据库支持

将Mysql数据库驱动(mysql-connector-java-5.1.13-bin.jar)拷贝到apache-tomcat-6.0.26\lib目录,或者拷贝apache-tomcat-6.0.26\webapps\cas\WEB-INF\lib目录

为了方便我将驱动包拷贝到了apache-tomcat-6.0.26\lib目录。

修改文件:deployerConfigContext.xml

<property name="authenticationHandlers">
			<list>
				<!--
					| This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
					| a server side SSL certificate.
					+-->
				<!--
				<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
					p:httpClient-ref="httpClient" />
				-->
				
				<!--
					| This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS 
					| into production.  The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
					| where the username equals the password.  You will need to replace this with an AuthenticationHandler that implements your
					| local authentication strategy.  You might accomplish this by coding a new such handler and declaring
					| edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
					+-->
				<!-- 	
				<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
				-->
				
				<!-- jdbc  -->
				<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
					<property name="sql" value="select sPassword from tbosstaff where sStaffAccount=?" />
          <property name="dataSource" ref="dataSource" />
				</bean>
				
				
			</list>
		</property>
	</bean>
增加数据源配置
  <!-- jdbc DataSource -->
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
                <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
                <property name="url"><value>jdbc:mysql://localhost:3306/dzyw-cas</value></property>
                <property name="username"><value>root</value></property>
                <property name="password"><value></value></property>
        </bean>

四:配置cas-客户端

以tomcat里面的docs应用作为客户端来完成本次配置

1)在docs/WEB-INF下面建立lib文件夹

2)将cas-client-core-3.1.10.jar和commons-logging-1.1.jar拷贝到docs/WEB-INF/lib下面

3)权限认证过滤器配置

修改web.xml文件

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 

  <display-name>Tomcat Documentation</display-name>
  <description>
     Tomcat Documentation.
  </description>
  
  <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>http://localhost:8081/cas/login</param-value>
  	</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://localhost:8081</param-value>
		</init-param>
</filter>

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


</web-app>

4)登出配置

A)使用过滤器的方式

B)使用监听器的方式

四:测试

1)测试是否是否能够登录系统

使用ie访问http://localhost:8081/docs ,会自动切换到CAS-OSS的登录页面,输入数据库中保存的用户名和密码,则可以正常跳转到docs。

五:思考问题

1)数据库的密码使用加密的方式,cas怎么配置?

2)本问中的数据源使用的是简单的jdbc连接,实际项目总可能需要使用JNDI或者数据库连接池这些配置应该怎么配置?

3)怎么将登录者的信息在整个环境中传递?

4)怎么对CAS服务端做压力测试。

分享到:
评论

相关推荐

    单点登录sso-shiro-cas-maven

    spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...

    SSO单点登录快速入门及实战项目(2.80G)

    05.单点登录&注销功能演示.avi 06.单点登录的流程分析.avi 07.单点登录Cookie和Session存储图解.avi 08.单点登录代码实现(一).avi 09.单点登录代码实现(二).avi 10.单点登录代码实现(三).avi 11.单点登录的流程梳理....

    Windows 环境CAS 5.1.X 单点登录系统配置试验

    在Win XP 32 位本机环境,利用CAS 5.1.X,对LDAP、JDBC 认证机制的多种认证模式进行了单点 登录系统(SSO)的配置试验,并采用Java 和Python 两种客户端作了测试,同时给出了配置流程、以 及个人在20 天的配置试验...

    耶鲁CasServer单点登录教程

    目录 一、Yale CAS简介 2 二、CAS 原理和协议 2 三、准备工作 4 四、部署CAS Server 5 步骤1.配置CAS Server应用服务器的Https 协议 5 ●生成服务器证书 5 ●配置Tomcat的https 8 ...配置 CAS Filter 15

    sso:cas单点登录系统,其中包括cas认证服务,配置中心,监控平台,服务管理的高可用项目

    打造一个单点登录平台,其中包括以下一部分 CAS服务器 配置中心 服务管理系统 监控平台 客户端集成(cas client,pac4j,shiro) 并且在博客中记录整个建造过程以及注意事项,目前教程如下: 特性 Docker快速启动 ...

    spring security 参考手册中文版

    5.3 Java配置和表单登录 34 5.4授权请求 35 5.5处理注销 36 5.5.1 LogoutHandler 37 5.5.2 LogoutSuccessHandler 37 5.5.3更多注销相关参考 38 5.6认证 38 5.6.1内存认证 38 5.6.2 JDBC认证 39 5.6.3 LDAP认证 39 ...

    spring in action英文版

     11.2.4 基于Acegi和Yale CAS实现单次登录  11.3 控制访问  11.3.1 访问决策投票  11.3.2 决定如何投票  11.3.3 处理投票弃权  11.4 保护Web应用程序  11.4.1 代理Acegi的过滤器  11.4.2 ...

    java开源包1

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包10

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java开源包11

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包2

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包3

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包6

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包5

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包4

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包8

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包7

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

Global site tag (gtag.js) - Google Analytics