java web多个应用项目如何整合在一起

java web多个应用项目如何整合在一起,第1张

在不大规模改动代码的情况下,我建议用开源的Yale CAS单点登陆。

我已基本实现了tomcat下Yale CAS配置“

相关文档:

一、资源版本:

Tomcat5.0.28

cas-server-3.0.7

cas-client-2.0.11

二、Tomcat部署环境:

casserver——cas服务器部署环境

casclient——cas客户机部署环境(发布jsp-examples)

casclient1——cas客户机部署环境(发布servlets-examples)

三、SSL文件准备:

server.keystore——服务器端库文件

client.keystore——客户端库文件

server.cer——服务器端证书(自制)

client.cer——客差笑户端证书(自制)

cacerts——证书链

1、生成服务器端库文件

keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore

2、导出服务器端证书

keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore

3、生成客户端库文件

keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore

4、导出客户端证书

keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore

5、导入服务器端证书到cacerts

keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit

6、导入客户端证书到cacerts

keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit

将server.keystore、client.keystore、server.cer、client.cer、cacerts文件复制到cas服务器、cas客户机、cas客户机1的TOMCAT_HOME主目录及JAVA_HOEM\jre\lib\security目录下。

四、Tomcat下cas安装部署

1、casserver配置

采用jakarta-tomcat-5.0.28.zip解压后默认配置,重点注意Server port="8005"

及Connector port="8080" redirectPort="8443"(cas客户端需改端森庆虚口号)。

A、 编辑.\此燃casserver\conf目录下server.xml文件并保存。

找到如下片段,红色字体为新增内容。

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->

<Connector port="8443"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" debug="0" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile="/server.keystore" keystorePass="changeit"/>

B、拷贝cas.war至.\casserver\webapps目录。

至此,cas服务器部署完毕。启动服务器,访问https://localhost:8443如能显示Tomcat首页则表示cas部署成功。

2、casclient配置

jakarta-tomcat-5.0.28.zip解压后修改根目录名为casclient。

A、编辑.\casclient\conf目录下server.xml文件并保存。

找到如下片段,红色字体为修改内容。

<Server port="8006" shutdown="SHUTDOWN" debug="0">

<Connector port="8081"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8080" acceptCount="100"

debug="0" connectionTimeout="20000"

disableUploadTimeout="true" />

B、编辑.\casclient\webapps\jsp-examples\WEB-INF目录下web.xml文件并保存。

加入如下片段,重点注意红色字体部分。

<filter>

<filter-name>CASFilter</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://localhost:8443/cas/login</param-value>

</init-param>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>

<param-value>https://localhost:8443/cas/proxyValidate</param-value>

</init-param>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>

<param-value>localhost:8081</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

C、将casclient.jar拷贝至.\casclient\webapps\jsp-examples\WEB-INF\lib目录下。

至此,cas客户端部署完毕。启动客户服务器,访问http://localhost:8081/jsp-examples正常情况会d出安全警报,点击确认后转向cas登录页面。此时casserver采用默认验证,用户名、口令输入相同的字符串即可,验证通过后转向jsp-examples应用的默认页面。

3、casclient1配置

jakarta-tomcat-5.0.28.zip解压后修改根目录名为casclient1。

D、编辑.\casclient1\conf目录下server.xml文件并保存。

找到如下片段,红色字体为修改内容。

<Server port="8007" shutdown="SHUTDOWN" debug="0">

<Connector port="8082"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8080" acceptCount="100"

debug="0" connectionTimeout="20000"

disableUploadTimeout="true" />

E、编辑.\casclient1\webapps\servlets-examples\WEB-INF目录下web.xml文件并保存。

加入如下片段,重点注意红色字体部分。

<filter>

<filter-name>CASFilter</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://localhost:8443/cas/login</param-value>

</init-param>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>

<param-value>https://localhost:8443/cas/proxyValidate</param-value>

</init-param>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>

<param-value>localhost:8082</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

将casclient.jar拷贝至.\casclient1\webapps\servlets-examples\WEB-INF\lib目录下。至此,cas客户端1部署完毕。启动cas客户1服务器,访问http://localhost:8082/servlets-examples/servlet/HelloWorldExample正常情况会d出安全警报,点击确认后转向servlets-examples应用的HelloWorld页面(此时由于cas客户服务器已经登录,因此访问servlets-examples时无需再进行登录)。

cas服务器、客户端部署完成后即可实现统一认证服务。案例中把登录认证部分的逻辑从jsp-examples、servlets-examples应用(此应用系统并无登录逻辑,在实际应用中需修改相应的登录验证逻辑)中剥离,交由cas认证服务器完成。

以上配置在windows XP professional上测试通过。

不渗凯论是多少个程序,要放在一起,做一个项目的全部程序,只能有一个主程序main( )。

如果原来的多个程丛渣唤序都 有main( ),就得选一个做主程序,其它那些都要写成子程序啦,而且原来那些程序中有while(1)的话,都要删掉。

至于多个程序的整合,最容易做,不能出错的办法是:把多个程序全部都放在一个文件中,改成子程序的那些程序,放在主程梁州序的前面。

当然,比较合理的结构是一个工程由多个文件组成,容易做的方法是:把那些改成的子程序单独保存成头文件,起名为 xxx.h ,都用.h。这些头文件都放在同一个文件夹下。

在主程序中用

#include "xxx.h" ,把所有的子程序都包含进来,有几个子程序就写几行。

注意的是,子程序中原来有#include<reg51.h>都要删掉,在主程序中有一行就行,就是整个工程只有一行#include<reg51.h>。

这样,那些子程序,就可以被主程序调用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12569949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存