MyEclipse调试cas源程序 无​需​m​a​v​e​n​ ​j​a​v​a​版​本 全过程详解,含server端、client端、tomcat配置

本文详细介绍了如何使用SSO-CAS进行身份验证,并通过逐步配置来实现服务器端和客户端的部署。同时,解决在MyEclipse中配置不同Tomcat服务器时遇到的问题,包括端口更改和依赖注入。最后,展示了如何在三个独立的Tomcat服务器上成功运行项目,实现了客户端之间的无缝切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了很多关于sso-cas的源代码调试过程,但是自己做的时候,发现都不全面,自己决定做一个全面的调试过程。但由于自己对maven项目不熟悉,所以自己新建的web project,一点一点复制核心代码和jar包。

软件:

可以去http://www.jasig.org/cas/download上下载cas的最新server端和client端

我用的软件是cas-server-3.5.2和cas-client-3.2.1,myeclipse10.0和tomcate7.0,  jdk1.7.0_09

一、配置cas_server端

   1.解压后本地可看到


2.打开myeclipse--------------->新建web project------------>命名为cas_server

3.将cas-server-3.5.2\cas-server-core\src\main\java下面的org拖入项目中的scr文件夹,

       之后将cas-server-3.5.2\cas-server-webapp\src\main\java\org\jasig\cas\web下的FlowExecutionExceptionResolver.java复制到src目录下的org.jasig.cas.web的包名下,

      之后将cas-server-3.5.2\cas-server-webapp\src\main\java\org\jasig\cas\web\flow下的所有文件复制到src目录下的org.jasig.cas.web.flow的包名下,

      将cas-server-3.5.2\cas-server-webapp\src\main\webapp\WEB-INF\classes下面的所有文件夹拖入项目中的src文件夹,可得到如下:



报错没有关系,是有些格式不支持,不影响运行。

4.然后找到cas-server-3.5.2\modules下面的cas-server-webapp-3.5.2.war用解压工具解压, 打开压缩包,将其下所有的东西,复制到webroot下,


到此,服务器端的部署完成,将其发布到tomcate,启动,输入网址启动后浏览器地址栏输入https://localhost:8443/cas_server/login,出现

只要输入相同的用户名和密码就可以登陆成功,进入登陆成功界面。

server配置成功!

二、客户端的配置较简单:

1.新建web project,命名为cas_client1.

2.把cas-client-3.2.1\modules下的cas-client-core-3.2.1.jar和commons-logging-1.1.jar复制到web-INF下的lib下,同时有一个jar包需要自己下载casclient.jar,下载后也复制到lib下。

3.对web.xml做如下配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
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_3_0.xsd">
  <display-name></display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  
<filter> 
  <filter-name>CAS Filter</filter-name> 
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> 
<init-param> 
  <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> 
  <param-value>https://dyy:8443/cas_server/login</param-value> 
</init-param> 
<init-param> 
  <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> 
  <param-value>https://dyy:8443/cas_server/serviceValidate</param-value> 
</init-param> 
<init-param> 
  <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> 
  <param-value>localhost:18080</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
<filter-name>CAS Filter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping> 
</web-app>


红色部分cas_server是你的服务器的项目名称。

红色部分18080是我更改的tomcat的端口,端口的更改需要三个,可以自己百度查询更改过程,这里我改为18080.

此时,客户端的配置就成功了。

三。。类似的我新建了一个cas_client2项目工程,与client1的配置相同,除了端口改为28080.


到此源程序配置成功。

下面要将三个项目发布在不同的tomcat下,服务器我配置在tomcat7.x下,之后我复制了我的tomcat(我的tomcat是免安装版)重命名tomcat-app1和tomcat-app2(注意更改端口分别为18080和28080)分别将其配置在myeclipse的tomcat6.x和tomcat5.x之下,但运行时会报错,

1.  若Tomacat 启动报错如下:

java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter

解决方法为:在Tomacat7的context.xml文件里的<Context>中加上<Loader delegate="true" />

2. 我对我的myeclipse的tomcat6.x和5.x做以下更改,

修改启动项:
window--Preferences--tomat--tomat6.x--Paths--append to classpath

将tomcat7/bin下的tomcat-juli.jar添加classpath中。

同样tomcat 5.x加入这个jar包,

之后启动正常。

这样在myeclipse中就配置了三台服务器,端口分别为8080,18080,28080,对应项目为cas_server,cas_client1,cas_client2,全部启动,

访问:http://localhost:18080/cas_client1/时就会跳转到服务器登陆页面,登陆成功后,会出现cas_client1项目的index.jsp页面的内容,再访问http://localhost:28080/cas_client2/时无需登录,便可以访问。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值