`

jasig4.0 cas 登录测试

    博客分类:
  • sso
 
阅读更多

只是简单的验证csa服务器登录和读取数据库账号密码登录

环境window2008+tomcat7+jdk7+cas-server-4.0.0-release

 1. 首先到 http://downloads.jasig.org/ 地址下载 cas-server-4.0.0-release.zip,解压后到modules目录中找到cas-server-webapp-4.0.0.war,复制到tomcat的webapp目录下,修改名称为cas.war

 

 2. 创建证书

   keytool -genkey -alias ssotest -keyalg RSA -keysize 2048 -keystore C:/cas/keys/ssotest.keystore

    导出证书
   keytool -export -file c:/cas/keys/ssotest.crt -alias ssotest -keystore  C:/cas/keys/ssotest.keystore    

    客户端JVM导入证书   

   keytool -import -keystore C:\Users\Administrator\Desktop\jdk764\jre\lib\security\cacerts -file c:/cas/keys/ssotest.crt -alias ssotest

    如果提示:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
那么输入密码:changeit
这是因为JDK安装后会默认创建一个密钥库,密码为:changeit
也可以删除d:\Java\jdk1.7.0_60\jre\lib\security\cacerts 在输入上述命令

 

3. 让tomcat使用证书

  打开tomcat目录的conf/server.xml文件,8443端处,并设置keystoreFile、keystorePass修改结果如下:

 

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
		keystoreFile="c:/cas/keys/ssotest.keystore"  
     		keystorePass="123456" />

 启动tomcat测试是否可用,https://localhost:8443 能进入到tomcat目录表示https配置成功。

 

4. 登录cas

    启动tomcat之后再webapp中的cas.war自动解压,我们可以直接访问https://localhost:8443/cas/login, cas4.0 默认账号密码是casuser/Mellon  如下图

 

 5. 读取数据库进行认证

    需要的jar包有cas-server-support-jdbc.jar  c3p0-0.9.1.2.jar  mysql-connector-java-5.1.24  ,我这里是mysq 其他数据库根据情况整理jar包,放入到webapps\cas\WEB-INF\lib 。之后在cas\WEB-INF下找到deployerConfigContext.xml进行修改

首先注释掉默认的登录账号密码

    <bean id="primaryAuthenticationHandler"
          class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
        <property name="users">
            <map>
                <entry key="casuser" value="Mellon"/>
            </map>
        </property>
    </bean>

 注释之后,添加jdbc配置,这里为了方便没有采用加密

 

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
 p:driverClass="com.mysql.jdbc.Driver"
p:jdbcUrl="jdbc:mysql://ip:3306/dts?useUnicode=true&amp;
characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"
p:user=user
p:password=password />
<bean id="dbAuthHandler" 
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from user_info where name=?" />
<property name="dataSource" ref="dataSource" />
	</bean>

 

 

 再找到id=authenticationManager的bean

<bean id="authenticationManager" 
class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
        <constructor-arg>
            <map>
 <entry key-ref="proxyAuthenticationHandler" 
value-ref="proxyPrincipalResolver" />
<!-- <entry key-ref="primaryAuthenticationHandler" 
value-ref="primaryPrincipalResolver" />-->
<entry key-ref="dbAuthHandler" 
value-ref="primaryPrincipalResolver"/>
            </map>
        </constructor-arg>
 <property name="authenticationPolicy">
        <bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
        </property>
    </bean>

 

 

 是为了注释掉key-ref="primaryAuthenticationHandler"的部分,然后引入id=dbAuthHandler的bean

之后重启tomcat 进行验证

 

 

 

 在此列出一些比较好的相关博文以供参考:
http://blog.csdn.net/frinder/article/details/7969925
http://sgq0085.iteye.com/blog/2003190
http://sgq0085.iteye.com/blog/2099196
http://www.iteye.com/blogs/tag/cas

 

 

 

 

  • 大小: 24.7 KB
分享到:
评论

相关推荐

    org.jasig.cas.client.util.CommonUtils

    予org.jasig.cas.client.util.CommonUtils 加入 public static void disableSSLVerification(){ try { // Create a trust manager that does not validate certificate chains TrustManager[] ...

    Jasig(cas)单点登录时序图

    ### Jasig (CAS) 单点登录时序图解析 #### 一、概述 Jasig 开源项目下的 CAS(Central Authentication Service)是一款强大的单点登录解决方案,它为 Web 应用提供了一种集中式的认证服务。CAS 通过提供一个中心化...

    CAS客户端JAR包版本3.3.3

    -- 该过滤器使得开发者可以通过 org.jasig.cas.client.util.AssertionHolder 来获取用户 的登录名。 比如 AssertionHolder.getAssertion().getPrincipal().getName()。 --&gt; &lt;filter-name&gt;CAS Assertion ...

    jasig-cas-4.0.x-overlay-template:ala-cas从jasig cas 3.4.2升级到4.0.1

    Jasig CAS(Central Authentication Service)是一款广泛使用的开源身份验证系统,主要用于提供单一登录(Single Sign-On, SSO)服务。在从3.4.2版本升级到4.0.1的过程中,开发者通常会遇到兼容性问题和新功能的集成...

    CAS jasig SSO单点登录解决方案完整版

    cas-client-core-3.2.1.jar LoginImpl.java LoginServlet.java SSOClientFilter.java web.xml 电子政务平台单点登录集成手册v4.0-2017年2月9日.docx

    jasig cas 单点登录

    jasig cas 单点登录环境搭建详细资料

    cas客户端集成单点登录代码

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On, SSO)。在本文中,我们将深入探讨如何将CAS客户端集成到您的应用程序中,实现单点登录功能。 首先,理解...

    jasig cas4.1.4+oracle数据库认证

    Jasig Central Authentication Service(CAS)是一个开源的身份验证框架,主要用于实现单点登录(Single Sign-On, SSO)。它允许用户在一个应用系统中登录后,无需再次认证即可访问其他集成的应用系统。CAS 4.1.4 是...

    spring boot整合CAS Client实现单点登陆验证的示例

    &lt;filter-class&gt;org.jasig.cas.client.authentication.AuthenticationFilter &lt;param-name&gt;casServerLoginUrl &lt;param-value&gt;http://127.0.0.1/login&lt;/param-value&gt; &lt;param-name&gt;serverName &lt;param-value&gt;...

    cas-server-4.0.0-release单点登录源码和war包-原版

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)系统。它允许用户通过一个认证界面访问多个应用系统,而无需在每个系统上分别进行登录。在这个"cas-server-...

    modify-jasig-cas:基于jasig-cas自定义自己的cas服务器

    Jasig CAS(Central Authentication Service)是一个开源的身份验证框架,主要用于实现单点登录(Single Sign-On, SSO)功能。它由Java编写,广泛应用于教育、企业和其他组织,以提供统一的用户认证服务。在本文中,...

    JASIG CAS 3 Learning Note 1 -- getting started

    JASIG CAS(Central Authentication Service)是一款开源的身份验证系统,广泛应用于多应用系统中的单点登录(Single Sign-On, SSO)。CAS 3 是其第三个主要版本,提供了更加稳定、可扩展和安全的认证服务。本文将...

    CAS RESTful API 开发文档

    server 地址: http://www.jasig.org/cas/download client 地址: http://www.ja-sig.org/downloads/cas-clients/ 当前最新版本 cas-server-3.4.2 , cas-client-3.1.10 2. 安装 server l 解压 cas-server-...

    cas4.0源码包

    CAS(Central Authentication Service)是 Jasig 组织开发的一个开源的单点登录(Single Sign-On,简称SSO)系统,广泛应用于教育、企业和其他组织,为各种应用提供统一的认证服务。Cas4.0源码包是CAS系统的一个重要...

    CAS多数据库配置单点登录

    3. CAS Service 版本 cas-server-4.0:作为CAS服务器端,提供了单点登录身份验证服务。 4. CAS Client 版本 cas-client-core-3.3:作为CAS客户端,提供了单点登录身份验证客户端功能。 二、配置客户端 为了实现单...

    cas server 4.2.7 环境搭建maven

    CAS(Central Authentication Service)服务器是一种基于Java的开源身份验证服务,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在本场景中,我们将讨论如何使用Maven构建工具搭建CAS Server ...

    cas client核心jar文件

    对应我本人上传的cas server开发的版本。 &lt;!-- CAS logout--&gt; &lt;bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter"&gt; ...分别是cas 服务的地址,自己应用的地址,和注销登录的地址。

    cas-4.2.1服务端代码(内含通过gradle打包成功的war)

    CAS(Central Authentication Service)是一种广泛使用的开放源码身份验证框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。这个压缩包包含的是CAS服务器的4.2.1版本的源代码,以及使用Gradle...

Global site tag (gtag.js) - Google Analytics