0 0

CAS SSO 单点登录 问题5

<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to Jasig under one or more contributor license
    agreements. See the NOTICE file distributed with this work
    for additional information regarding copyright ownership.
    Jasig 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 the following location:

      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.

-->
<!--
| deployerConfigContext.xml centralizes into one file some of the declarative configuration that
| all CAS deployers will need to modify.
|
| This file declares some of the Spring-managed JavaBeans that make up a CAS deployment. 
| The beans declared in this file are instantiated at context initialization time by the Spring
| ContextLoaderListener declared in web.xml.  It finds this file because this
| file is among those declared in the context parameter "contextConfigLocation".
|
| By far the most common change you will need to make in this file is to change the last bean
| declaration to replace the default SimpleTestUsernamePasswordAuthenticationHandler with
| one implementing your approach for authenticating usernames and passwords.
+-->

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:sec="http://www.springframework.org/schema/security"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
       http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<!--
| This bean declares our AuthenticationManager.  The CentralAuthenticationService service bean
| declared in applicationContext.xml picks up this AuthenticationManager by reference to its id,
| "authenticationManager".  Most deployers will be able to use the default AuthenticationManager
| implementation and so do not need to change the class of this bean.  We include the whole
| AuthenticationManager here in the userConfigContext.xml so that you can see the things you will
| need to change in context.
+-->
<bean id="authenticationManager"
class="org.jasig.cas.authentication.AuthenticationManagerImpl">

<!-- Uncomment the metadata populator to allow clearpass to capture and cache the password
     This switch effectively will turn on clearpass.
<property name="authenticationMetaDataPopulators">
   <list>
      <bean class="org.jasig.cas.extension.clearpass.CacheCredentialsMetaDataPopulator">
         <constructor-arg index="0" ref="credentialsCache" />
      </bean>
   </list>
</property>
-->

<!--
| This is the List of CredentialToPrincipalResolvers that identify what Principal is trying to authenticate.
| The AuthenticationManagerImpl considers them in order, finding a CredentialToPrincipalResolver which
| supports the presented credentials.
|
| AuthenticationManagerImpl uses these resolvers for two purposes.  First, it uses them to identify the Principal
| attempting to authenticate to CAS /login .  In the default configuration, it is the DefaultCredentialsToPrincipalResolver
| that fills this role.  If you are using some other kind of credentials than UsernamePasswordCredentials, you will need to replace
| DefaultCredentialsToPrincipalResolver with a CredentialsToPrincipalResolver that supports the credentials you are
| using.
|
| Second, AuthenticationManagerImpl uses these resolvers to identify a service requesting a proxy granting ticket.
| In the default configuration, it is the HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose.
| You will need to change this list if you are identifying services by something more or other than their callback URL.
+-->
<property name="credentialsToPrincipalResolvers">
<list>
<!--
| UsernamePasswordCredentialsToPrincipalResolver supports the UsernamePasswordCredentials that we use for /login
| by default and produces SimplePrincipal instances conveying the username from the credentials.
|
| If you've changed your LoginFormAction to use credentials other than UsernamePasswordCredentials then you will also
| need to change this bean declaration (or add additional declarations) to declare a CredentialsToPrincipalResolver that supports the
| Credentials you are using.
+-->
<bean class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" >
<property name="attributeRepository" ref="attributeRepository" />
</bean>
<!--
| HttpBasedServiceCredentialsToPrincipalResolver supports HttpBasedCredentials.  It supports the CAS 2.0 approach of
| authenticating services by SSL callback, extracting the callback URL from the Credentials and representing it as a
| SimpleService identified by that callback URL.
|
| If you are representing services by something more or other than an HTTPS URL whereat they are able to
| receive a proxy callback, you will need to change this bean declaration (or add additional declarations).
+-->
<bean
class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver" />
</list>
</property>

<!--
| Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate,
| AuthenticationHandlers actually authenticate credentials.  Here we declare the AuthenticationHandlers that
| authenticate the Principals that the CredentialsToPrincipalResolvers identified.  CAS will try these handlers in turn
| until it finds one that both supports the Credentials presented and succeeds in authenticating.
+-->
<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" />
-->
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
                  <property name="dataSource" ref="casDataSource" />  
                  <property name="sql" value="select login_pwd from user where login_id =  ?" />     
               <!--   <property name="passwordEncoder" ref="MD5PasswordEncoder"/>  -->
          </bean>
</list>
</property>
</bean>


<!--
This bean defines the security roles for the Services Management application.  Simple deployments can use the in-memory version.
More robust deployments will want to use another option, such as the Jdbc version.

The name of this should remain "userDetailsService" in order for Spring Security to find it.
-->
    <!-- <sec:user name="@@THIS SHOULD BE REPLACED@@" password="notused" authorities="ROLE_ADMIN" />-->

    <sec:user-service id="userDetailsService">
        <sec:user name="@@THIS SHOULD BE REPLACED@@" password="notused" authorities="ROLE_ADMIN" />
    </sec:user-service>

<!--
Bean that defines the attributes that a service may return.  This example uses the Stub/Mock version.  A real implementation
may go against a database or LDAP server.  The id should remain "attributeRepository" though.
-->
<bean id="attributeRepository"
class="org.jasig.services.persondir.support.StubPersonAttributeDao">
<property name="backingMap">
<map>
<entry key="uid" value="uid" />
<entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
<entry key="groupMembership" value="groupMembership" />
</map>
</property>
</bean>

<!--
Sample, in-memory data store for the ServiceRegistry. A real implementation
would probably want to replace this with the JPA-backed ServiceRegistry DAO
The name of this bean should remain "serviceRegistryDao".
-->
<bean
id="serviceRegistryDao"
        class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">
            <property name="registeredServices">
                <list>
                    <bean class="org.jasig.cas.services.RegexRegisteredService">
                        <property name="id" value="0" />
                        <property name="name" value="HTTP and IMAP" />
                        <property name="description" value="Allows HTTP(S) and IMAP(S) protocols" />
                        <property name="serviceId" value="^(https?|imaps?)://.*" />
                        <property name="evaluationOrder" value="10000001" />
                    </bean>
                    <!--
                    Use the following definition instead of the above to further restrict access
                    to services within your domain (including subdomains).
                    Note that example.com must be replaced with the domain you wish to permit.
                    -->
                    <!--
                    <bean class="org.jasig.cas.services.RegexRegisteredService">
                        <property name="id" value="1" />
                        <property name="name" value="HTTP and IMAP on example.com" />
                        <property name="description" value="Allows HTTP(S) and IMAP(S) protocols on example.com" />
                        <property name="serviceId" value="^(https?|imaps?)://([A-Za-z0-9_-]+\.)*example\.com/.*" />
                        <property name="evaluationOrder" value="0" />
                    </bean>
                    -->
                </list>
            </property>
        </bean>

  <bean id="auditTrailManager" class="com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager" />
 
  <bean id="healthCheckMonitor" class="org.jasig.cas.monitor.HealthCheckMonitor">
    <property name="monitors">
      <list>
        <bean class="org.jasig.cas.monitor.MemoryMonitor"
            p:freeMemoryWarnThreshold="10" />
        <!--
          NOTE
          The following ticket registries support SessionMonitor:
            * DefaultTicketRegistry
            * JpaTicketRegistry
          Remove this monitor if you use an unsupported registry.
        -->
        <bean class="org.jasig.cas.monitor.SessionMonitor"
            p:ticketRegistry-ref="ticketRegistry"
            p:serviceTicketCountWarnThreshold="5000"
            p:sessionCountWarnThreshold="100000" />
      </list>
    </property>
  </bean>
 
   <bean id="casDataSource"   
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   
        <property name="driverClassName">   
            <value>com.mysql.jdbc.Driver</value>   
        </property>   
        <property name="url">   
            <value>jdbc:mysql://192.168.3.113:3306/gtctech</value>   
        </property>   
        <property name="username">   
            <value>root</value>   
        </property>   
        <property name="password">   
            <value>root</value>   
        </property>   
    </bean>   
   
    <!--<bean id="myPasswordEncoder" class="org.jasig.cas.authentication.handler.MyPasswordEncoder" />   
    <bean id="MD5PasswordEncoder"   
        class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">   
        <constructor-arg index="0">   
            <value>MD5</value>   
        </constructor-arg>   
    </bean>  -->
 
  <!--
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource" 
    destroy-method="close"> 
    <property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" /> 
    <property name="url" 
        value="jdbc:microsoft:sqlserver://192.168.3.113:3306;DatabaseName=gtctechtest" /> 
    <property name="username" value="root" /> 
    <property name="password" value="root" /> 
</bean> 
-->
<!--
  <bean id="MD5PasswordEncoder"  class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
     <constructor-arg value="MD5"/>
   </bean>
  -->
</beans>

 
=========================
见以上文件,红色处想加destroy-method="close"

但是一加就报错说找不到close方法

spring-jdbc-2.5.6.jar

问题补充:deployerConfigContext.xml

1个答案 按时间排序 按投票排序

0 0

这个需要看一下 org.apache.commons.dbcp.BasicDataSource 和spring的org.springframework.jdbc.datasource.DriverManagerDataSource 的注销区别,还有版本,你用的spring次版本是没有上述方法的

2014年7月02日 11:52

相关推荐

    CAS实现sso单点登录原理

    "CAS实现sso单点登录原理" CAS(Central Authentication Service)是Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于Web SSO)。CAS开始于2001年,并在2004年12月...

    cas sso单点登录已搭建好的源码-内含客户端和服务端

    4. 退出逻辑:实现单点登出功能,当用户在一个应用中注销时,客户端会通知其他应用同步注销状态。 在源码中,开发者可以深入理解CAS SSO的工作流程,包括: - 如何配置CAS服务器,设置认证源和策略。 - 客户端如何...

    Weblogic使用YALE(耶鲁)CAS实现SSO单点登录 的方法.doc

    Weblogic 使用 YALE CAS 实现 SSO 单点登录的方法 一、Yale CAS 简介 Yale CAS 是耶鲁大学开发的一种开源的单点登录(SSO)解决方案,提供了一个通用的身份验证框架,允许用户使用单个身份验证来访问多个应用程序。...

    CAS_SSO单点登录实例详细步骤

    CAS_SSO单点登录实例详细步骤,CAS_,SSO,单点登录

    PHP 使用TP5.0 实现SSO单点登录

    因为公司要实现SSO单点登录的效果,最近在网上找了一些资料,但是都没有好用的, 所以自己用PHP 使用TP5.0 实现了SSO单点登录,可以跨多个域名。 下载后在本地配置好 A,B,C 3个网站,就可以模拟效果了。

    cas sso单点登录

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(SSO)框架,它允许用户通过一个统一的身份验证入口点访问多个应用系统,而无需在每个系统中单独登录。SSO(Single Sign-On)是现代...

    Java进阶SSO单点登录技术CAS-快速上手与原理探究视频教程

    本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    [置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析 http://blog.csdn.net/ae6623/article/details/8848107 目 录 1 引言 4 1.1 摘要 4 1.2 范围 4 1.3 读者对象 4 1.4 关键词 4 2 ...

    转载CAS_SSO单点登录实例详细步骤

    【CAS_SSO单点登录实例详细步骤】 CAS(Central Authentication Service)是一种开源的单点登录(Single Sign-On,简称SSO)框架,它允许用户通过一个认证入口访问多个应用系统,而无需多次登录。以下是对CAS_SSO单...

    单点登录sso-shiro-cas-maven

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

    sso.rar_DotNetCasClient.dll_sso_sso 单点登录_单点登录_鍗曠偣鐧诲綍

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证技术,允许用户在一次登录后,无需再次输入凭证即可访问多个相互关联的应用系统。在IT领域,它极大地提升了用户体验和安全性,尤其对于大型企业或组织,管理...

    sso单点登录

    SSO单点登录技术是现代企业级应用架构中不可或缺的一部分,它通过统一的身份认证服务提升了用户体验,降低了运维复杂度。"Simple-SSO"项目为开发者提供了一个学习和实践SSO的平台,结合Maven的项目管理,使得分布式...

    CAS单点登录(SSO)教程

    单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication ...

    【转载】CAS实现单点登录(SSO)经典完整教程

    CAS(Central Authentication Service)是一种广泛使用的开放源码的单点登录(Single Sign-On,简称SSO)框架,它为各种应用程序提供了统一的认证服务。在本文中,我们将深入探讨如何利用CAS实现单点登录功能,这将...

    sso/cas单点登录Java maven版 含服务端客服端

    SSO(Single Sign-On)是单点登录的缩写,是一种网络用户身份验证的机制,允许用户在一次登录后访问多个应用系统而无需再次验证。CAS(Central Authentication Service)是SSO的一种实现,由耶鲁大学开发并开源,它...

    cas 单点登录 解决方案.

    cas 单点登录解决方案可以大大简化 SOA 的安全问题,提高服务之间的合作效率。 cas 单点登录解决方案的技术实现机制其实是比较简单的。使用 cas 单点登录解决方案,用户只需要登录一次就可以进入多个系统,而不需要...

    sso 单点登录原理文档附带流程图片

    "SSO单点登录原理文档附带流程图片" 单点登录(SSO)是一种用户认证机制,允许用户在访问多个应用系统时,只需要输入一次用户名和密码。这种机制可以减少用户登录的时间和出错的可能性,提高工作效率和安全性。 ...

    SSO之CAS单点登录详细图文教程.zip

    本教程将通过“SSO之CAS单点登录详细图文教程.zip”这个压缩包,详细介绍如何部署CAS(Central Authentication Service)来实现SSO。 首先,让我们了解CAS的基本架构。CAS通常包括两个主要部分:服务端和客户端。...

    CAS_SSO单点登录实例详细步骤.doc

    CAS_SSO单点登录实例详细步骤.doc CAS_SSO单点登录实例详细步骤.doc

Global site tag (gtag.js) - Google Analytics