当前位置:首页 » 操作系统 » cas源码导入

cas源码导入

发布时间: 2023-08-06 03:27:02

⑴ 什么是cas单点登录

CAS是一个单点登录框架,开始是由耶鲁大学的一个组织开发,后来归到apereo去管。 同时CAS也是开源,遵循着apache 2.0协议,代码目前是在github上管理。单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。cas单点登录目前国内玉符科技技术实力可以,可以考察,望采纳!

java 什么情况下使用 并发队列

并发队列是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部,当我们获取一个元素时,它会返回队列头部的元素。它采用了“wait-free”算法来实现,该算法在Michael
& Scott算法上进行了一些修改。

入队列


入队列就是将入队节点添加到队列的尾部。为了方便理解入队时队列的变化,以及head节点和tair节点的变化,每添加一个节点我就做了一个队列的快照图。

publicEpoll(){

Node</e><e>h=head;

//p表示头节点,需要出队的节点

Node</e><e>p=h;

for(inthops=0;;hops++){

//获取p节点的元素

Eitem=p.getItem();

//如果p节点的元素不为空,使用CAS设置p节点引用的元素为null,如果成功则返回p节点的元素。

if(item!=null&&p.casItem(item,null)){

if(hops>=HOPS){

//将p节点下一个节点设置成head节点

Node</e><e>q=p.getNext();

updateHead(h,(q!=null)?q:p);

}

returnitem;

}

//如果头节点的元素为空或头节点发生了变化,这说明头节点已经被另外一个线程修改了。那么获取p节点的下一个节点

Node</e><e>next=succ(p);

//如果p的下一个节点也为空,说明这个队列已经空了

if(next==null){

//更新头节点。

updateHead(h,p);

break;

}

//如果下一个元素不为空,则将头节点的下一个节点设置成头节点

p=next;

}

returnnull;

}

首先获取头节点的元素,然后判断头节点元素是否为空,如果为空,表示另外一个线程已经进行了一次出队操作将该节点的元素取走,如果不为空,则使用CAS的方式将头节点的引用设置成null,如果CAS成功,则直接返回头节点的元素,如果不成功,表示另外一个线程已经进行了一次出队操作更新了head节点,导致元素发生了变化,需要重新获取头节点。

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

在不大规模改动代码的情况下,我建议用开源的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>e.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>e.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正常情况会弹出安全警报,点击确认后转向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>e.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>e.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正常情况会弹出安全警报,点击确认后转向servlets-examples应用的HelloWorld页面(此时由于cas客户服务器已经登录,因此访问servlets-examples时无需再进行登录)。
cas服务器、客户端部署完成后即可实现统一认证服务。案例中把登录认证部分的逻辑从jsp-examples、servlets-examples应用(此应用系统并无登录逻辑,在实际应用中需修改相应的登录验证逻辑)中剥离,交由cas认证服务器完成。
以上配置在windows XP professional上测试通过。

⑷ cas server 源码怎么打成jar

先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么: 用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项: -c 创建

热点内容
米思齐编译失败怎么看 发布:2025-03-12 19:26:27 浏览:848
sql语句notexists 发布:2025-03-12 19:16:11 浏览:60
快手安卓版如何玩 发布:2025-03-12 19:15:26 浏览:36
scott数据库 发布:2025-03-12 19:15:19 浏览:873
rom服务器是什么 发布:2025-03-12 19:10:27 浏览:62
我给你改个密码叫什么 发布:2025-03-12 19:09:32 浏览:674
宽带密码在手机上如何更改 发布:2025-03-12 19:07:52 浏览:116
python离线安装pip 发布:2025-03-12 19:06:18 浏览:29
超时代加密视频破解 发布:2025-03-12 19:03:10 浏览:96
服务器怎么做游戏 发布:2025-03-12 18:57:30 浏览:616