cas服务器(什么是cas单点登录)
大家好,如果您还对cas服务器不太了解,没有关系,今天就由本站为大家分享cas服务器的知识,包括什么是cas单点登录的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
cas是什么意思
看语境了
CAS=Channel Associated Signaling,随路信令
CAS= Chinese Academy of Sciences,中国科学院,我国国家科学技术方面最高学术机构和全国自然科学与高新技术综合研究发展中心。
[美国化学文摘服务社logo]
美国化学文摘服务社logo
CAS= Central Authentication Service,中央认证服务,一种独立开始指令协议。
CAS= Court of Arbitration for Sports,国际奥委会体育仲裁院
CAS= Chemical Abstracts Service,美国化学文摘服务社,美国化学会(American Chemical Society)下属组织。
CAS= Channel Associated Signaling,通道合并信号,一类电脑通讯信号。
[美国伤害保险协会标志]
美国伤害保险协会标志
CAS= Casualty Actuarial Society,伤害保险协会,美国的一个专业保险协会。
CAS= China Accounting Standards,中国企业会计准则。
CAS= Civil Aid Service,香港民众安全服务队,中国香港的一个市民援助机构。
[香港民众安全服务队标志]
香港民众安全服务队标志
CAS= Close Air Support,近距离空中支援,近距离空中支援是以空中单元协助附近友军的一种军事战术。
CAS= Code Access Security,代码访问安全,Microsoft.NET framework中的概念。
CAS= Cognitive Assessment System,认知评估系统,系一个给孩子的学院评估测试。
[斯温伯恩大学天体物理和超级电脑中心标志]
斯温伯恩大学天体物理和超级电脑中心标志
CAS= Centre for Astrophysics and Supercomputing,澳大利亚斯温伯恩大学的天体物理和超级电脑中心。
CAS(Computer Assisted Surgery),电脑辅助手术,系将电脑技术运用在手术中。
CAS(Conditional Access System),有条件访问系统,系一种选择性数字媒体传输系统。
CAS(Console Access Server),控制台访问服务器,系提供电脑设备系统控制台访问的一种设备或服务器。
[消耗报警系统]
消耗报警系统
CAS(Consumer Alert System),消耗报警系统,系一种间谍软件或广告软件。
CAS(Content-Addressable Storage),内容寻址存储,系一种数据存储机构。
CAS= Column Address Strobe,或Column Address Strobe latency、Column Address Select latency,列地址选通脉冲。
CAS= Client Access,用户端访问角色,亦缩写为CA。
CAS= Certification Authority,证书颁发机构,公钥基础结构的一个关键组件。
CAS= Classic Arts Showcase,美国经典艺术展播电视频道,该频道是一个宣传精致艺术品的美国非经营性卫星电视频道。
[美国经典艺术展播电视频道标志]
美国经典艺术展播电视频道标志
CAS= Communication Automation System,通讯自动化系统,一种智能小区中通讯自动化系统,包括数字信息网络、语言与传真功能、有线电视、公用天线系统。
CAS= Compare-and-Swap,比较和交换,一种特殊的处理器指令。
CAS= Complete Active Space,完全活动空间,在量子化学中分子轨道的一种分类。
CAS= Complex Adaptive System,复杂适应系统,复杂系统的特殊案例。
CAS= Computer Algebra System,计算机代数系统,一种简化符号数学的软件程序。
[国际体育仲裁法庭标志]
国际体育仲裁法庭标志
CAS= Court of Arbitration for Sports,国际体育仲裁法庭,为判决设计体育项目争议的一个国际仲裁机构。
CAS= Cowboy Action Shooting,牛仔战斗射击,一项竞技射击运动。
CAS(Cycle Accurate Simulator),周期精确级仿真器,模拟微结构循环精确级的一种电脑程序。
[肇庆加美学校标志]
肇庆加美学校标志
CAS(Canadian-American School),加美学校,有时也特指肇庆加美学校,一所由加拿大教育发展(中国)有限公司于1995年创办的私立学校。
CAS=China Association for Standardization.中国标准协会
CAS=Class A Surface,汽车A面,汽车外覆盖件曲率要求
CAS=Computer Aided Styling,计算机辅助造型。继CAD/CAE/CAM后又一新技术
CAS=China All Star,中国全明星队。多指竞技类项目的国际比赛中出自全国不同俱乐部的人所组成的代表中国的团队。
CAS=Cost Accounting Standards,成本会计准则,成本计算标准
CAS=Composition adjustments by sealed argon,化学加热,钢包精炼时做调温用
cas单点登录怎么在服务器端获得用户信息
通过上述部署与配置,多个Web应用已经可以共用一个登录服务。但是,上述过程中作为CAS Client端的Web应用只取得了用户登录名称信息,而在实际应用中,Web应用往往需要获得登录用户更多的信息,例如会员等级、性别、住址等。要达到此目的,只需对Server端稍做修改即可实现。
1.服务端配置及修改
假定上述存储用户信息的数据表userinfo中还包含一个名为address的用于存储用户地址的字段,而Web应用程序希望能够从CAS Server处获得当前登录用户的地址信息,则Server端需要按以下内容修改deployerConfigContext.xml。部分配置说明请参见注释。
<!--将原有attributeRepository配置注释-->
<!--
<beanid="attributeRepository"
class="org.jasig.services.persondir.support.StubPersonAttributeDao">
<propertyname="backingMap">
<map>
<entrykey="uid" value="uid"/>
<entrykey="eduPersonAffiliation" value="eduPersonAffiliation"/>
<entrykey="groupMembership" value="groupMembership"/>
</map>
</property>
</bean>
-->
<!--新增attributeRepository配置(开始)-->
<bean class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao"id="attributeRepository">
<!--指定使用的数据源,此处dataSource是已配置好的数据源-->
<constructor-arg index="0"ref="dataSource"/>
<!--从数据库中查询信息的SQL语句,通常只需要修改表名即可-->
<constructor-arg index="1" value="select* fromuserinfo where{0}"/>
<propertyname="queryAttributeMapping">
<map>
<!--上述查询的参数,将userName替换为表中表示用户名的字段名称-->
<entrykey="username" value="userName"/>
</map>
</property>
<propertyname="resultAttributeMapping">
<map>
<!--需要返回给Web应用的其它信息,多个信息时可继续增加entry节点-->
<!--key值为数据表中的字段名称,value值为Client端取值时的名称标识-->
<entry key="address" value="address"/>
</map>
</property>
</bean>
<!--新增attributeRepository配置(结束)-->
<bean
id="serviceRegistryDao"
class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">
<propertyname="registeredServices">
<list>
<beanclass="org.jasig.cas.services.RegexRegisteredService">
<propertyname="id" value="0"/>
<propertyname="name" value="HTTP and IMAP"/>
<propertyname="description" value="Allows HTTP(S) and IMAP(S)protocols"/>
<propertyname="serviceId" value="^(https?|imaps?)://.*"/>
<propertyname="evaluationOrder" value="10000001"/>
<!--增加此项配置-->
<property name="ignoreAttributes" value="true"/>
</bean>
……
</list>
</property>
</bean>
CASServer要将额外的信息传递至Client端,还需要修改完成信息组装的文件WEB-INF/view/jsp/protocol/2.0/casServiceValidationSuccess.jsp。casServiceValidationSuccess.jsp负责组装包含用户信息的XML,因此修改部分是将需要传递的额外信息加入到它最终生成的XML文件之中。具体修改如下:
<cas:serviceResponsexmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess><cas:user>${fn:escapeXml(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.id)}</cas:user>
<!--新增额外信息(开始)-->
<c:iftest="${fn:length(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes)> 0}">
<cas:attributes>
<c:forEachvar="attr"items="${assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes}">
<!--注意此行的正确写法,网上资料基本都是错误的--><cas:${fn:escapeXml(attr.key)}>${fn:escapeXml(attr.value)}</cas:${fn:escapeXml(attr.key)}>
</c:forEach>
</cas:attributes>
</c:if>
<!--新增额外信息(结束)-->
<c:if test="${not emptypgtIou}">
<cas:proxyGrantingTicket>${pgtIou}</cas:proxyGrantingTicket>
</c:if>
<c:if test="${fn:length(assertion.chainedAuthentications)> 1}">
<cas:proxies>
<c:forEachvar="proxy" items="${assertion.chainedAuthentications}"varStatus="loopStatus" begin="0"end="${fn:length(assertion.chainedAuthentications)-2}"step="1">
<cas:proxy>${fn:escapeXml(proxy.principal.id)}</cas:proxy>
</c:forEach>
</cas:proxies>
</c:if>
</cas:authenticationSuccess>
</cas:serviceResponse>
2. Java Client端取得更多用户信息
Java Client端不需要做任何修改就可以继续正常使用CAS服务,如果需要取得用户更多信息,可以通过AttributePrincipal对象取得Attribute列表(一个Map对象)后进行查询。
修改前述Java Client的示例代码,在最后追加取得address信息的代码,重启服务并重新访问页面,可以看到页面上显示了当前用户的address信息。
<%@pageimport="org.jasig.cas.client.authentication.AttributePrincipal"%>
<%@pageimport="org.jasig.cas.client.validation.Assertion"%>
<%@page import="java.util.*"%>
<%
String loginName1= request.getRemoteUser();
%>
request.getRemoteUser():<%=loginName1%><br/>
<%
AttributePrincipal principal=(AttributePrincipal)request.getUserPrincipal();
String loginName2= principal.getName();
%>
request.getUserPrincipal().getName():<%=loginName2%><br/>
<%
Object object=request.getSession().getAttribute("_const_cas_assertion_");
Assertion assertion=(Assertion)object;
String loginName3=assertion.getPrincipal().getName();
%>
request.getSession().getAttribute("_const_cas_assertion_").getPrincipal().getName():<%=loginName3%><br/>
什么是cas单点登录
CAS是一个单点登录框架,开始是由耶鲁大学的一个组织开发,后来归到apereo去管。同时CAS也是开源,遵循着apache 2.0协议,代码目前是在github上管理。单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS是 Yale大学发起的一个开源项目,旨在为 Web应用系统提供一种可靠的单点登录方法,CAS在 2004年 12月正式成为 JA-SIG的一个项目。cas单点登录目前国内玉符科技技术实力可以,可以考察,望采纳!
文章到此结束,如果本次分享的cas服务器和什么是cas单点登录的问题解决了您的问题,那么我们由衷的感到高兴!