首页编程java编程javacas是什么 cas认证是什么认证

javacas是什么 cas认证是什么认证

编程之家2023-10-12103次浏览

其实javacas是什么的问题并不复杂,但是又很多的朋友都不太了解cas认证是什么认证,因此呢,今天小编就来为大家分享javacas是什么的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

javacas是什么 cas认证是什么认证

cas号是什么意思

CAS号是什么意思 CAS号(CAS Registry Number或称CAS Number, CAS Rn, CAS),又称CAS编号,CAS登录号或CAS登记号码,是某种物质(化合物、高分子材料、生物序列(Biological sequences)、混合物或合金)的唯一的数字识别号码。

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS是耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web应用系统提供一种可靠的单点登录方法,CAS在 2004年 12月正式成为 JA-SIG的一个项目。

特点

javacas是什么 cas认证是什么认证

1、开源的企业级单点登录解决方案。

2、CAS Server为需要独立部署的 Web应用。

3、CAS Client支持非常多的客户端(这里指单点登录系统中的各个 Web应用),包括 Java,.Net, PHP, Perl, Apache, uPortal, Ruby等语言编写的各种web应用。

javacas是什么 cas认证是什么认证

4、CAS属于Apache 2.0许可证,允许代码修改,再发布(作为开源或商业软件)。

cas认证是什么认证

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。

CAS是Yale大学发起的一个开源项目,旨在为 Web应用系统提供一种可靠的单点登录方法,CAS在 2004年 12月正式成为 JA-SIG的一个项目。

特点

1、开源的企业级单点登录解决方案。

2、CAS Server为需要独立部署的 Web应用。

3、CAS Client支持非常多的客户端(这里指单点登录系统中的各个 Web应用),包括 Java,.Net, PHP, Perl, Apache, uPortal, Ruby等。

原理和协议

从结构上看,CAS包含两个部分: CAS Server和 CAS Client。CAS Server需要独立部署,主要负责对用户的认证工作;

CAS Client负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图是 CAS最基本的协议过程:

CAS Client与受保护的客户端应用部署在一起,以 Filter方式保护受保护的资源。对于访问受保护资源的每个 Web请求,CAS Client会分析该请求的 Http请求中是否包含 Service Ticket,

如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server登录地址,并传递 Service(也就是要访问的目的资源地址),以便登录成功过后转回该地址。

用户在第 3步中输入认证信息,如果登录成功,CAS Server随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,

之后系统自动重定向到 Service所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),

CAS Client在拿到 Service和新产生的 Ticket过后,在第 5,6步中与 CAS Server进行身份核实,以确保 Service Ticket的合法性。

在该协议中,所有与 CAS的交互均采用 SSL协议,确保,ST和 TGC的安全性。协议工作过程中会有 2次重定向的过程,但是 CAS Client与 CAS Server之间进行 Ticket验证的过程对于用户是透明的。

另外,CAS协议中还提供了 Proxy(代理)模式,以适应更加高级、复杂的应用场景,具体介绍可以参考 CAS官方网站上的相关文档。

扩展资料

使用 CAS在 Tomcat中实现单点登录中部署客户端应用

单点登录的目的是为了让多个相关联的应用使用相同的登录过程,本文在讲解过程中构造 2个简单的应用,分别以 casTest1和 casTest2来作为示例,它们均只有一个页面,显示欢迎信息和当前登录用户名。

这 2个应用使用同一套登录信息,并且只有登录过的用户才能访问,通过本文的配置,实现单点登录,即只需登录一次就可以访问这两个应用。

与 CAS Server建立信任关系

假设 CAS Server单独部署在一台机器 A,而客户端应用部署在机器 B上,由于客户端应用与 CAS Server的通信采用 SSL,因此,需要在 A与 B的 JRE之间建立信任关系。

首先与 A机器一样,要生成 B机器上的证书,配置 Tomcat的 SSL协议。

其次,下载http://blogs.sun.com/andreas/entry/no_more_unable_to_find的 InstallCert.java,运行“ java InstallCert compA:8443”命令,

并且在接下来出现的询问中输入 1。

这样,就将 A添加到了 B的 trust store中。如果多个客户端应用分别部署在不同机器上,那么每个机器都需要与 CAS Server所在机器建立信任关系。

配置 CAS Filter

准备好应用 casTest1和 casTest2过后,分别部署在 B和 C机器上,由于 casTest1和casTest2,B和 C完全等同,我们以 casTest1在 B机器上的配置做介绍,

假设 A和 B的域名分别为 domainA和 domainB。

将 cas-client-java-2.1.1.zip改名为 cas-client-java-2.1.1.jar并拷贝到 casTest1/WEB-INF/lib目录下,修改 web.xml文件,添加 CAS Filter,如清单 10所示:

清单 10.添加 CAS Filter

<web-app>...<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://domainA:8443/cas/login</param-value>

</init-param>

<init-param>

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

<param-value>https://domainA:8443/cas/serviceValidate</param-value>

</init-param>

<init-param>

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

<param-value>domainB:8080</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CAS Filter</filter-name>

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

</filter-mapping>

...

</web-app>

对于所有访问满足 casTest1/protected-pattern/路径的资源时,都要求到 CAS Server登录,如果需要整个 casTest1均受保护,可以将 url-pattern指定为“/*”。

从清单 10可以看到,我们可以为 CASFilter指定一些参数,并且有些是必须的,表格 1和表格 2中分别是必需和可选的参数:

表格 1. CASFilter必需的参数

表格 2. CASFilter可选参数

传递登录用户名

CAS在登录成功过后,会给浏览器回传 Cookie,设置新的到的 Service Ticket。但客户端应用拥有各自的 Session,我们要怎么在各个应用中获取当前登录用户的用户名呢?

CAS Client的 Filter已经做好了处理,在登录成功后,就可以直接从 Session的属性中获取,如清单 11所示:

清单 11.在 Java中通过 Session获取登录用户名

1//以下两者都可以

2session.getAttribute(CASFilter.CAS_FILTER_USER);

3session.getAttribute("edu.yale.its.tp.cas.client.filter.user");

在 JSTL中获取用户名的方法如清单 12所示:

清单 12.通过 JSTL获取登录用户名

1<c:out value="${sessionScope[CAS:'edu.yale.its.tp.cas.client.filter.user']}"/>

另外,CAS提供了一个 CASFilterRequestWrapper类,该类继承自HttpServletRequestWrapper,主要是重写了 getRemoteUser()方法,

只要在前面配置 CASFilter的时候为其设置“ edu.yale.its.tp.cas.client.filter.wrapRequest”参数为 true,就可以通过 getRemoteUser()方法来获取登录用户名,具体方法如清单 13所示:

清单 13.通过 CASFilterRequestWrapper获取登录用户名

1 CASFilterRequestWrapper reqWrapper=new CASFilterRequestWrapper(request);

2 out.println("The logon user:"+ reqWrapper.getRemoteUser());

参考资料来源:百度百科-CAS

参考资料来源:IBM中国-使用 CAS在 Tomcat中实现单点登录

jdk是什么

JDK全称Java Development ToolKit,是Java语言开发工具包。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API包括rt.jar)。

最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK。IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求。

JDK是用于构建在 Java平台上发布的应用程序、applet和组件的开发环境。它不提供具体的开发软件,它提供的是无论你用何种开发软件写Java程序都必须用到的类库和Java语言规范。

扩展资料:

JDK版本的变迁史及其选择。

Java语言自JDK1.0版本以来经历了许多次更新,也在基本程序库中增加了大量的类别和包。除了语言上的变化,多年来Java标准库(JCL)发生了巨大的变化,从JDK 1.0中的几百个类暴增到J2SE 5中的三千多个类。

Swing、Java2D等的全新API被加入其中,而许多原本JDK 1.0的类和方法已被弃用。当然,仍然有一些程序可以将Java程序从新版本的Java平台转换为较旧版本(例如Java 5.0降转到1.4)。

2017年9月,Java平台的主架构师 Mark Reinhold发出提议,要求将Java的功能更新周期从之前的每两年一个新版本缩减到每六个月一个新版本。该提议获得了通过,并在提出后不久生效。

Java 8与 Java 11为当前提供支持的LTS(长期支持)版本;Java 10是上一个快速发布版本,且已不再被支持。2018年9月,随着 Java 11的发布,Java 10自当日起不再被支持。

Oracle将在 2019年 1月前为商业用途中的 Java 8长期支持,而针对非商用的更新将继续提供,直至 2020年 12月。

此外,AdoptOpenJDK也为 Java 8提供免费更新。针对 Java 11的长期支持将不再由 Oracle提供,而是改由OpenJDK社区的 AdoptOpenJDK提供。

版本选择的问题,1.7、1.8、1.9都是成熟版本,原则上都可以选用。国内公司的商业项目jdk一般不轻易升级,1.9用的就比较少了,加上配套框架升级速度的考虑,1.9版本第二推荐位。

1.8和1.7的应用都比较广泛了,那自然选更新更高级的版本。所以,最推荐用1.8版本。JDK11除非只想从语言层面去体验新功能,还是不要在实际业务开发中用。

参考资料来源:百度百科——JDK

关于javacas是什么到此分享完毕,希望能帮助到您。

java中%什么意思 java中的%是什么意思超级掌门人 超级掌门人综艺节目