cas单点登录1-源码导入eclipse

简介: 谈到单点登录(SSO:Single Sign On),最出名的框架,莫过于CAS(Central Authentication Service)官方网站:https://www.

谈到单点登录(SSO:Single Sign On),最出名的框架,莫过于CAS(Central Authentication Service)

官方网站:https://www.apereo.org/projects/cas

源码地址:https://github.com/Jasig/cashttps://github.com/Jasig/java-cas-client

帮助文档:https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1

服务端:本系列文章全部基于目前最新的CAS-4.2.7

客户端:目前CAS的Java客户端官方最新版本是3.4.1

注意:自从3.1.11开始,maven2的groupId已经变为org.jasig.cas.clien,如下所示

<dependency>
    <groupId>org.jasig.cas.client</groupId>
    <artifactId>cas-client-core</artifactId>
    <version>3.4.1</version>
</dependency>

 

部署Tomcat

这里使用的环境为:jdk-7u80-windows-x64apache-tomcat-8.0.21cas-client-core-3.4.0cas-server-webapp-4.0.3

首先,我们去下载CAS源码,手工构建cas.war,操作步骤如下

1、https://github.com/Jasig/cas/releases中下载4.2.7版得到cas-4.2.7zip,并解压到桌面

2、执行命令:C:\Users\Jadyer\Desktop\cas-4.2.7>mvn install -DskipTests

在构建最后,会报告下面的错误

 

Could not transfer artifact net.jradius:jradius-core:pom:1.0.0 from/to coova (http://coova-dev.s3.amazonaws.com/mvn): Software caused connection abort: recv failed

不过没关系,此时我们想要的war已经生成了,它就是\cas-4.2.7\cas-server-webapp\target\cas.war

除了上面手工构建的方式,还可以直接下载现成的war包,地址如下(下面两个地址都可以)
http://central.maven.org/maven2/org/jasig/cas/cas-server-webapp/4.2.7
http://mvnrepository.com/artifact/org.jasig.cas/cas-server-webapp/4.2.7
下载到的文件为cas-server-webapp-4.2.7.war,它的内容与上面手工构建得到的cas.war是相同的

接下来,将cas.war部署到Tomcat,启动后访问http://127.0.0.1:8080/cas/

关于登录密码,CAS-4.0之前的默认验证规则是:只要用户名和密码相同就认证通过

4.0之后有所改变:其默认用户名密码为casuser/Mellon,它配置在\WEB-INF\deployerConfigContext.xml

导入Eclipse

一 、简单实用导入方法:

1.Eclipse中新建一个WebProject,比方说cas(新建时JavaEE版本选5.0就行)

2、解压之前得到的cas.war,将其内容拷贝到新建的WebProject中即可(classes目录中的properties文件和log4j.xml拷到src即可)

验证一下:把这个WebProject发布到Tomcat,看到的应该是一样的效果

注意:导入时,这两个jar也是CAS的:person-directory-api-1.5.1.jarperson-directory-impl-1.5.1.jar

另外:cas.war中的\WEB-INF\classes\里面并没有class文件,实际上它是在\WEB-INF\lib\cas-server-*.jar四个jar里面的

如果也想导入它们的源码,可通过以下方式找到(如果你需要的话)

  • cas-server-security-filter-2.0.3.jar

   源码地址为https://github.com/Jasig/cas-server-security-filter(实际上只有一个java文件)

   这里也可以查到源码http://mvnrepository.com/artifact/org.jasig.cas/cas-server-security-filter/2.0.3

  • cas-server-core-4.0.3.jar、cas-server-support-generic-4.0.3.jar、cas-server-webapp-support-4.0.3.jar

   这三个jar的源码就在cas-4.0.3.zip里面,直接拷过来就行了

二、源码全部导入方法:

下载好源码包后并且在eclipse里面安装好gradle插件后,以gradle的形式导入,安装方法不做介绍,导入过程及结果如下:

 

如果需要导入源码文件,下载或者导入慢时, 请查看一下链接来解决问题   http://blog.csdn.net/bitree1/article/details/54950192http://blog.csdn.net/bitree1/article/details/54950192

启用HTTP协议支持

我们都知道,Tomcat默认是没有开启HTTPS协议的

这个时候访问http://127.0.0.1:8080/cas/会在页面看到下面的提示

Non-secure Connection
You are currently accessing CAS over a non-secure connection. Single Sign On WILL NOT WORK. In order to have single sign on work, you MUST log in over HTTPS.

这段提示是硬编码在\WEB-INF\view\jsp\default\ui\casLoginView.jsp中的

我们可以注释掉它,也可以让CAS支持HTTP协议,即令其不开启HTTPS验证,这时需要修改三个文件

1、\WEB-INF\deployerConfigContext.xml
<bean class="org.jasig...support.HttpBasedServiceCredentialsAuthenticationHandler">添加p:requireSecure="false"

2、\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml
p:cookieSecure="true"改为p:cookieSecure="false"

3、\WEB-INF\spring-configuration\warnCookieGenerator.xml
p:cookieSecure="true"改为p:cookieSecure="false"

将不定期更新资源,欢迎持续关注

想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码

 

目录
相关文章
|
3月前
|
开发工具 Android开发 git
【dbeaver】Eclipse 运行 dbeaver 源码
【dbeaver】Eclipse 运行 dbeaver 源码
118 0
|
5月前
|
SQL Java 应用服务中间件
Eclipse导入项目的配置步骤说明
Eclipse导入项目的配置步骤说明
138 0
Eclipse导入项目的配置步骤说明
|
6月前
|
Java 关系型数据库 MySQL
SSM度假村管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 度假村管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
36 0
|
7月前
|
Java 应用服务中间件 Android开发
eclipse项目导入到idea
eclipse项目导入到idea
202 0
|
3月前
|
Java 关系型数据库 BI
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
|
5月前
|
Java 应用服务中间件 Android开发
IDEA Eclipse项目如何导入tomcat里面的jar包
IDEA Eclipse项目如何导入tomcat里面的jar包
65 0
|
6月前
|
Java 关系型数据库 MySQL
SSM培训报名管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 培训报名管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
31 0
|
6月前
|
Java 关系型数据库 MySQL
SSM宾馆客房管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 宾馆客房管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 bootstrap.css jquery 后端主要技术 SSM 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
41 0
SSM宾馆客房管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
|
6月前
|
Java 关系型数据库 MySQL
SSM咖啡点餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 咖啡点餐管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js jquery 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
50 0
|
6月前
|
Java 关系型数据库 MySQL
SSM校园设备管信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 校园设备管信息理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系 统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
73 0
SSM校园设备管信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目