`

基于CAS 单点登录服务端的搭建

    博客分类:
  • Java
阅读更多

一、cas服务端的搭建

 
1、工具包下载
cas服务端:cas-server-3.3.3-release.zip 下载地址:http://downloads.jasig.org/cas/cas-server-3.3.3-release.zip
cas客户端:cas-client-3.1.8-release.zip 下载地址:http://downloads.jasig.org/cas-clients/cas-client-3.1.8-release.zip
cas java客户端:cas-client-2.0.11.zip 下载地址:http://downloads.jasig.org/cas-clients/cas-client-2.0.11.zip

 

2.、基本搭建。
将cas服务端zip压缩包解压,在 modules文件夹下找到 cas-server-webapp-3.3.3.war 放到一个tomcat下,启动tomcat,将自动解压缩war包,将项目文件夹名改为cas。
去掉https验证(先暂时去掉)
打开 cas/WEB-INF/deployerConfigContext.xml,
找到<bean class="org.jasig.cas.authentication.handler.support.
HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" />,
将其更改为: <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"p:requireSecure="false" />
 
打开cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml,将p:cookieSecure="true"改为p:cookieSecure="false"。
打开cas/WEB-INF/spring-configuration/warnCookieGenerator.xml,将p:cookieSecure="true"改为p:cookieSecure="false"。
 
访问该项目可以看到如下内容。 
 

 

 

使用admin和admin登录即可。登录后可以看到如下界面。

 

 

通过上述操作服务端搭建完了。但是我们在真正的项目中肯定是要登录到数据库中去验证用户名和密码的。

 

4、使用数据库来验证用户登录

下面就介绍下如何使cas查询数据库中的用户名和密码。(PS:这里有个限定,那就是需要所有的web应用都使用同一个库和密码加密方式。 例如MD5。当然,在项目中也理所应当这么做。)

 

首先需要导入一些jar包。

导入相关jar包。截图如下:

 

 

 

打开cas服务端:cas/WEB-INF/ deployerConfigContext.xml,大约100多行找到如下代码:

<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

注释掉这行代码,添加如下代码

<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default" dependency-check="default">

<property name="dataSource" ref="casDataSource" /> <!--数据源-->

<property name="tableUsers" value="TB_USER" /> <!--表-->

<property name="fieldUser" value="UserName"/> <!--用户名-->

<property name="fieldPassword" value="Password"/> <!--密码-->

<property name="passwordEncoder" ref="passwordEncoder"/><!--加密方式-->

</bean>

这里我使用的是让cas指定需要验证的表和字段,另外指定了加密方式,可以看到我们还需要两个bean属性,数据源和加密方式。

在外层加入bean:

<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>

<property name="url" value="jdbc:sqlserver://192.168.1.14:1433;DatabaseName=NFS_IOT_DESKTOP"></property>

<property name="username" value="sa" />

<property name="password" value="123" />

</bean>

<!--加密方式,也可以指定自己的加密类-->

<bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">

<constructor-arg value="MD5"/><!--使用MD5加密-->

</bean>

 

之后重启tomcat,可以验证自己是否成功。

 

这样cas服务端的数据层就完全配置完毕了。当然我们还需要自定义验证登录的界面,这里就说下如何指定前台登录的jsp就可以了。

在服务端的classes文件夹下,有很多配置文件,其中 default_views.properties就是指定页面用的。可以根据其中的注释指定自己的jsp页面。

 

分享到:
评论

相关推荐

    cas单点登录服务端+客户端demo

    在"cas单点登录服务端+客户端demo"中,我们可以看到以下几个关键知识点: 1. **单点登录(SSO)**:SSO允许用户在一次登录后,能够无感知地在各个关联应用间切换,无需重新验证身份。它简化了用户的登录流程,提高...

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

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

    cas实现单点登录服务端及客户端

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并维护。SSO允许用户通过一次登录验证就能访问多个应用系统,无需在每个系统之间单独进行...

    cas单点登陆服务端

    在“cas单点登陆服务端war包”中,我们主要关注以下几个核心知识点: 1. **CAS架构**:CAS通常由服务端和客户端两部分组成。服务端负责用户身份验证,客户端则负责与服务端交互,确保用户已经通过了身份验证。在这...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决网络应用中的身份验证问题。本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置...

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

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

    cas server sso 单点登录服务端

    标题"cas server sso 单点登录服务端"指的是搭建一个CAS服务器,作为SSO解决方案的核心,用于处理和验证用户的身份信息。这个服务端一旦部署完成,即可与各个客户端应用无缝集成,提供单点登录功能。 描述中提到...

    cas-server sso单点登录服务端

    总的来说,CAS-server SSO服务端是一个强大的工具,它为企业提供了一种高效、安全的单点登录解决方案。理解其工作原理和配置方法对于构建和维护一个统一的认证环境至关重要。通过深入学习和实践,我们可以利用"cas-...

    cas单点登录学习:cas服务端与客户端的搭建-附件资源

    cas单点登录学习:cas服务端与客户端的搭建-附件资源

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

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

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

    总之,“SSO之CAS单点登录详细图文教程.zip”是一个全面的指南,它将引导你通过每一步操作,实现CAS服务端和客户端的集成,最终搭建起一个可靠的SSO系统。在阅读文档和实践操作的过程中,你将深入理解SSO的工作原理...

    CAS单点登陆测试实例demo,源码

    通过这样的实践,你可以深入理解CAS的工作原理,包括如何配置服务端,以及客户端如何与服务端交互以实现单点登录。这将有助于你在实际项目中部署和维护CAS SSO系统。记得在调试过程中检查日志输出,以帮助排查可能...

    CAS服务端和客户端war包.rar

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,主要功能是实现单点登录(Single Sign-On,SSO)。这个压缩包“CAS服务端和客户端war包.rar”包含了实现CAS服务所需的所有核心组件和两个...

    cas-server:单点登录服务端

    单点登陆服务端搭建教程 单点登录是企业业务整合比较流行解决方案,像多个系统使用同一个用户数据库的,并且这些系统需要相互信任时,此时使用单点登陆(SSO)是比较合适的。 #cas简介 CAS 是Yale(耶鲁)大学的一个...

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

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

    利用CAS实现单点登录的完整实例

    总结,通过学习和实践这个"利用CAS实现单点登录的完整实例",你将掌握如何使用Jasig CAS构建一个高效的单点登录系统,从而提升用户体验,简化身份验证管理,并加强系统的安全性。记得深入理解每个步骤,并根据实际...

    单点登录实现 Spring_security+CAS

    通过以上步骤,你可以构建一个基于Spring Security和CAS的单点登录系统。这个过程需要对Spring Security和CAS有深入的理解,以及一定的Java Web开发经验。通过实践和学习,你将能熟练掌握这个技术,并应用于实际项目...

    SSO之CAS单点登录详细教程

    ### SSO之CAS单点登录详细教程 #### 一、简介 SSO(Single Sign-On)即单点登录,是一种用户认证机制,允许用户在多个应用程序和服务之间仅使用一次登录凭据进行身份验证。CAS(Central Authentication Service)是...

Global site tag (gtag.js) - Google Analytics