JAVA CAS单点登录(SSO)

CAS单点登录(java) CAS单点登录CAS单点登录CAS单点登录CAS单点登录 立即下载

一、教程前言

  1. 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤
  2. 单点登录(SSO):请看百科解释猛击这里打开
  3. 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server),
    官网:http://www.jasig.org/cas
  4. 本教程环境:
    • Tomcat6.0.29
    • JDK6
    • CAS Server版本:cas-server-3.4.3.1
    • CAS Client版本:cas-client-3.1.12
    • 教程撰写日期:2010-11-05
    • 教程作者:咖啡兔

二、创建证书

啰嗦几句:证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,
中文官方网站:http://www.verisign.com/cn/

  1. 用JDK自带的keytool工具生成证书:

    命令:keytool -genkey -alias wsria -keyalg RSA -keystore d:/keys/wsriakey

无图不给力,有图有真相:

用keytool生成证书


具体的输入项图片中都有说明,有一点我要解释一下;在输入完密码后提示输入域名是我输入的是sso.wsria.com,其实这个域名是不存在的,但是我为了演示所以虚拟了这个域名,技巧在于修改C:\Windows\System32\drivers\etc\hosts,添加内容如下:

127.0.0.1 sso.wsria.com

这样在访问sso.wsria.com的时候其实是访问的127.0.0.1也就是本机

严重提醒:提示输入域名的时候不能输入IP地址

三、导出证书

命令:D:\keys>keytool -export -file d:/keys/wsria.crt -alias wsria -keystore d:/keys/wsriakey

来点颜色:

使用keytool导出证书


至此导出证书完成,可以分发给应用的JDK使用了,接下来讲解客户端的JVM怎么导入证书

四、为客户端的JVM导入证书

命令:keytool -import -keystore D:\tools\jdk\1.6\jdk1.6.0_20\jre\lib\security\cacerts -file D:/keys/wsria.crt -alias wsria

来点颜色瞧瞧:

为客户端JVM导入证书


特别说明:D:\tools\jdk\1.6\jdk1.6.0_20\jre\lib\security — 是jre的目录;密码还是刚刚输入的密码。
至此证书的创建、导出、导入到客户端JVM都已完成,下面开始使用证书到Web服务器中,本教程使用tomcat。

五、应用证书到Web服务器-Tomcat

说是应用起始做的事情就是启用Web服务器(Tomcat)的SSL,也就是HTTPS加密协议,为什么加密我就不用啰嗦了吧……
准备好一个干净的tomcat,本教程使用的apache-tomcat-6.0.29
打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,并设置keystoreFile、keystorePass修改结果如下:

[html]  view plain  copy
  1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
  2.                maxThreads="150" scheme="https" secure="true"  
  3.                clientAuth="false" sslProtocol="TLS"   
  4.            keystoreFile="D:/keys/wsriakey"  
  5.            keystorePass="wsria.com"  
  6. />  


 

参数说明:

  • keystoreFile:在第一步创建的key存放位置
  • keystorePass:创建证书时的密码

好了,到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了,例如本教程输入地址:https://sso.wsria.com:8443/
打开的是:

浏览器提示证书错误


好的,那么我们点击“继续浏览此网站(不推荐)。 ”,现在进入Tomcat目录了吧,如果是那么你又向成功迈进了一步。
OK,接下来要配置CAS服务器了。

六、CAS服务器初体验

  1. CAS服务端下载:http://www.jasig.org/cas/download
  2. 下载完成后将cas-server-3.4.3.1.zip解压,解压cas-server-3.4.3/modules/cas-server-webapp-3.4.3.1.war,改名为cas,然后复制cas目录到你的tomcat/webapp目录下
  3. 现在可以访问CAS应用了,当然要使用HTTPS加密协议访问,
    例如本教程地址:https://sso.wsria.com:8443/cas/login ,现在打开了CAS服务器的页面输入admin/admin点击登录(CAS默认的验证规则只要用户名和密码相同就通过)所以如果你看到下面的这张图片你就成功了

CAS登录成功


你成功了吗?如果没有成功请再检查以上步骤!

七、CAS服务器深入配置

上面的初体验仅仅是简单的身份验证,实际应用中肯定是要读取数据库的数据,下面我们来进一步配置CAS服务器怎么读取数据库的信息进行身份验证。
首先打开tomcat/webapp/cas/WEB-INF/deployerConfigContext.xml文件,配置的地方如下:

  1. 找到第92行处,注释掉:SimpleTestUsernamePasswordAuthenticationHandler这个验证Handler,这个是比较简单的,只是判断用户名和密码相同即可通过,这个肯定不能在实际应用中使用,弃用!
  2. 注释掉92行后在下面添加下面的代码: 
    [html]  view plain  copy
    1. <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">  
    2.     <property name="dataSource" ref="dataSource" />  
    3.     <property name="sql" value="select password from t_admin_user where login_name=?" />  
    4.     <property name="passwordEncoder" ref="MD5PasswordEncoder"/>  
    5. </bean>  


    在文件的末尾之前加入如下代码:

    [html]  view plain  copy
    1. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
    2.    <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>  
    3.    <property name="url"><value>jdbc:mysql:///wsriademo</value></property>  
    4.    <property name="username"><value>root</value></property>  
    5.    <property name="password"><value>root</value></property>  
    6. </bean>  
    7.    
    8. <bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">    
    9.     <constructor-arg index="0">  
    10.         <value>MD5</value>  
    11.     </constructor-arg>  
    12. </bean>  



     

  3. 复制cas-server-3.4.3.1\modules\cas-server-support-jdbc-3.4.3.1.jar和mysql驱动jar包到tomcat/webapp/cas/WEB-INF/lib目录
  4. 配置解释:
    • QueryDatabaseAuthenticationHandler是cas-server-support-jdbc提供的查询接口其中一个,QueryDatabaseAuthenticationHandler是通过配置一个 SQL 语句查出密码,与所给密码匹配
    • dataSource我就不用解释了吧,就是使用JDBC查询时的数据源
    • sql语句就是查询哪一张表,本例根据t_admin_user表的login_name字段查询密码,CAS会匹配用户输入的密码,如果匹配则通过;下面是t_admin_user的表结构: 
      [sql]  view plain  copy
      1. CREATE TABLE t_admin_user (  
      2.     id BIGINT NOT NULL AUTO_INCREMENT,  
      3.     email VARCHAR(255),  
      4.     login_name VARCHAR(255) NOT NULL UNIQUE,  
      5.     name VARCHAR(255),  
      6.     password VARCHAR(255),  
      7.     PRIMARY KEY (id)  
      8. ) ENGINE=InnoDB;  


    • passwordEncoder,这个就算是自己加的盐巴了,意思很明显就是处理密码的加密,看你的应用中数据库保存的是明码还是加密过的,比如本例是使用MD5加密的,所以配置了MD5PasswordEncoder这个Handler,cas内置了MD5的功能所以只需要配置一下就可以了;如果在实际应用中使用的是公司自己的加密算法那么就需要自己写一个Handler来处理密码,实现方式也比较简单,创建一个类继承org.jasig.cas.authentication.handler.PasswordEncoder然后在encode方法中加密用户输入的密码然后返回即可

八、配置CAS客户端

  1. 添加cas-client的jar包,有两种方式:
    • 传统型:下载cas-client,地址:http://www.ja-sig.org/downloads/cas-clients/,然后解压cas-client-3.1.12.zip,在modules文件夹中有需要的jar包,请根据自己的项目情况选择使用
    • Maven型: 
      [html]  view plain  copy
      1. <!-- cas -->  
      2. <dependency>  
      3.     <groupId>org.jasig.cas.client</groupId>  
      4.     <artifactId>cas-client-core</artifactId>  
      5.     <version>3.1.12</version>  
      6. </dependency>  

  2. 设置filter
    先上配置信息:
    [html]  view plain  copy
    1. <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置-->  
    2. <listener>  
    3.     <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>  
    4. </listener>  
    5.    
    6. <!-- 该过滤器用于实现单点登出功能,可选配置。 -->  
    7. <filter>  
    8.     <filter-name>CAS Single Sign Out Filter</filter-name>  
    9.     <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>  
    10. </filter>  
    11. <filter-mapping>  
    12.     <filter-name>CAS Single Sign Out Filter</filter-name>  
    13.     <url-pattern>/*</url-pattern>  
    14. </filter-mapping>  
    15.    
    16. <!-- 该过滤器负责用户的认证工作,必须启用它 -->  
    17. <filter>  
    18.     <filter-name>CASFilter</filter-name>  
    19.     <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>  
    20.     <init-param>  
    21.         <param-name>casServerLoginUrl</param-name>  
    22.         <param-value>https://sso.wsria.com:8443/cas/login</param-value>  
    23.         <!--这里的server是服务端的IP-->  
    24.     </init-param>  
    25.     <init-param>  
    26.         <param-name>serverName</param-name>  
    27.         <param-value>http://localhost:10000</param-value>  
    28.     </init-param>  
    29. </filter>  
    30. <filter-mapping>  
    31.     <filter-name>CASFilter</filter-name>  
    32.     <url-pattern>/*</url-pattern>  
    33. </filter-mapping>  
    34.    
    35. <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->  
    36. <filter>  
    37.     <filter-name>CAS Validation Filter</filter-name>  
    38.     <filter-class>  
    39.         org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>  
    40.     <init-param>  
    41.         <param-name>casServerUrlPrefix</param-name>  
    42.         <param-value>https://sso.wsria.com:8443/cas</param-value>  
    43.     </init-param>  
    44.     <init-param>  
    45.         <param-name>serverName</param-name>  
    46.         <param-value>http://localhost:10000</param-value>  
    47.     </init-param>  
    48. </filter>  
    49. <filter-mapping>  
    50.     <filter-name>CAS Validation Filter</filter-name>  
    51.     <url-pattern>/*</url-pattern>  
    52. </filter-mapping>  
    53.    
    54. <!--  
    55.     该过滤器负责实现HttpServletRequest请求的包裹,  
    56.     比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。  
    57. -->  
    58. <filter>  
    59.     <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>  
    60.     <filter-class>  
    61.         org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>  
    62. </filter>  
    63. <filter-mapping>  
    64.     <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>  
    65.     <url-pattern>/*</url-pattern>  
    66. </filter-mapping>  
    67.    
    68. <!--  
    69.     该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。  
    70.     比如AssertionHolder.getAssertion().getPrincipal().getName()。  
    71. -->  
    72. <filter>  
    73.     <filter-name>CAS Assertion Thread Local Filter</filter-name>  
    74.     <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>  
    75. </filter>  
    76. <filter-mapping>  
    77.     <filter-name>CAS Assertion Thread Local Filter</filter-name>  
    78.     <url-pattern>/*</url-pattern>  
    79. </filter-mapping>  
    80.    
    81. <!-- 自动根据单点登录的结果设置本系统的用户信息 -->  
    82. <filter>  
    83.     <display-name>AutoSetUserAdapterFilter</display-name>  
    84.     <filter-name>AutoSetUserAdapterFilter</filter-name>  
    85.     <filter-class>com.wsria.demo.filter.AutoSetUserAdapterFilter</filter-class>  
    86. </filter>  
    87. <filter-mapping>  
    88.     <filter-name>AutoSetUserAdapterFilter</filter-name>  
    89.     <url-pattern>/*</url-pattern>  
    90. </filter-mapping>  
    91. <!-- ======================== 单点登录结束 ======================== -->  


     

    每个Filter的功能我就不多说了,都有注释的,关键要解释一下AutoSetUserAdapterFilter的作用和原理.
    查看完整的web.xml请猛击这里(Google code)

  3. 利用AutoSetUserAdapterFilter自动根据CAS信息设置Session的用户信息:
    先看一下这个Filter的源码:
    好的,如果你是老程序员应该很快就清楚Filter的目的,如果不太懂我再讲解一下;
    主要是通过CAS的_const_cas_assertion_获取从CAS服务器登陆的用户名,然后再根据系统内部的用户工具(UserUtil.java)来判断是否已经登录过,如果没有登录根据登录名从数据库查询用户信息,最后使用设置把用户信息设置到当前session中。
    这样就把用户信息保存到了Sessino中,我们就可以通过UserUtil工具来获取当前登录的用户了,我在实例项目中也加入了此功能演示,请看代码:main.jsp的第44行处
  4. 补充一下:如果是为一个老项目添加单点登录功能,那么基本不需要其他的修改,设置好上面的filter即可;当然最好获取用户信息的地方都调用一个工具类,统一管理不容易出错。

九、美化CAS服务器界面

CAS服务端(cas-server)的界面只能在测试的时候用一下,真正系统上线肯定需要定制开发自己的页面,就想网易和优快云的统一认证平台一样,所有子系统的认证都通过此平台来转接,大家可以根据他们的页面自己定制出适合所属应用或者公司的界面;简单介绍一下吧,复制cas\WEB-INF\view\jsp\default\ui的一些JSP文件,每一个文件的用途文件名已经区分了,自己修改了替换一下就可以了。
例如:
登录界面:casLoginView.jsp
登录成功:casGenericSuccess.jsp
登出界面:casLogoutView.jsp

十、结束语

花了一下午时间终于写完了,总共十项也算完美了。
现在看来起始利用CAS实现单点登录其实不难,不要畏惧,更不要排斥!
本教程后面的代码部分均来自本博客的wsria-demo项目分支wsria-demo-sso
和本教程相关资料下载:

  1. 本教程使用的演示程序,点击这里下载
  2. 使用keytool生成的key和证书,点击这里下载
顶
2
CAS客户端获取用户保存至sessionUser 立即下载

相关推荐

避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活

本文深入探讨了使用Cadence psspxf工具进行分频器PSRR仿真时常见的三大技术陷阱,包括扰动信号参数设置、收敛性优化和后处理信号提取。通过详细的参数推荐和实战技巧,帮助工程师避免仿真误差,提升PSRR分析效率与准确性,特别适用于16分频器等数字-模拟混合电路设计。

weixin_29258297的博客 302

java cas单点登录_JAVA - 登录 单点登录 cas

CAS的大坑你跳过吗?2018-08-3010:59:05,415WARN[org.jasig.cas.util.SimpleHttpClient]-错误信息:2019-08-13 18:32:32,687 WARN [org.jasig.cas.util.SimpleHttpClient] - Common connection failures of this kind are ca...

weixin_42467960的博客 1504

SYSU-MM01数据集评估避坑指南:从RGB/IR图像理解到Python评估脚本调优

本文详细解析了SYSU-MM01数据集在跨模态行人重识别(ReID)评估中的关键技巧与常见陷阱。从RGB/IR图像理解到Python评估脚本优化,提供了数据评估模式选择、single-shot/multi-shot差异分析、特征文件处理规范等实用指南,帮助研究者避开指标异常问题,提升评估效率与准确性。

weixin_29044713的博客 196

用Java 实现cas 单点登录

Java 可以通过使用 java.util.concurrent 包中的 AtomicReference 类来实现 compare-and-swap (CAS) 算法。AtomicReference 类是一个原子性的引用类型,允许您在线程安全的方式更新和读取数据。 以下是实现单点登录的代码示例: import java.util.concurrent.atomic.AtomicReference;...

weixin_35756624的博客 527

Unity中URP实现水体效果(泡沫)

在上篇文章中,我们实现了水体的深度。在这篇文章中,我们来使用上篇文章采样后的深度图来实现水中的泡沫效果。

楠溪泽岸的博客 3490

ml307 二次开发

中移物联网旗下4g模组官方网站官方教程id=514官方客户不知道啥时候上班 早上10点也说不在服务时间内 找不到官方的sdk下载路径。

myWorld001的博客 2894

Java架构-CAS SSO单点登录框架介绍

1.了解单点登录 SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: User(多个) Web 应用(多个) SSO 认证中心(一个) 2.SSO 实现包含以下三个原则 所有的登录都在 SSO 认证中心进行。 SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的用...

weixin_33915554的博客 859

【HALCON工业视觉应用探索】02. C# + Halcon铸件毛刺机器人打磨引导:点云处理从实验室到工业现场的全流程落地

摘要:铸件毛刺的自动化打磨是机械制造领域的重要难题,其随机性(高度0.1-3mm)和复杂工况导致人工打磨效率低(3分钟/件)、工伤率高。本文基于Halcon 24.11与.NET 6,构建了一套点云处理方案:通过线激光扫描仪获取三维点云,经预处理、毛刺检测、路径规划三大模块,引导机器人完成打磨。虚拟实验测试显示,对高度>1mm的毛刺检出率达100%,定位误差±0.08mm,但工业现场受油污、粉尘影响,性能降至检出率68-75%、处理时间>45秒。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1129

java sso教程_使用CAS实现SSO简洁教程

来源:互联网SSO 即Single sign on/off,单点登录/退出CAS 全称JA-SIG Central Authentication Service,实现SSO的开源项目1. 概述1.1背景单点登录是必须的,实现方式颇多,这里就说使用CAS的实现方式。使用CAS实现SSO,网络上说明很多,大部分都是从制作证书开始,而实际上是可以不使用HTTPS验证,这样更方便。单点登录的原理是通过拦截...

weixin_31324995的博客 1338

财务数字化——解读美的战略规划之财务组织体系建设【附全文阅读】

本文提出适用于集团企业的财务管控方案,面向财务负责人、HR及战略规划人员。方案整合四种管控模式,结合500强案例,构建"职能定位-架构设计-权责划分-人才发展"体系,涵盖财务五大模块。通过明确总部与事业部权责边界,提供组织架构等实操框架,旨在平衡财务管控与业务支持,提升效率与风控能力,满足集团财务体系规范化建设需求。

cdfunlove的博客 663

Python爬虫实战:逆向解析腾讯视频API,高效获取结构化视频信息

首先,我们定义期望获取的数据结构,这有助于数据验证和代码清晰度。python"""腾讯视频信息数据模型"""title: str = Field(..., description="视频标题")vid: str = Field(..., description="视频唯一ID")play_count: Optional[int] = Field(None, description="播放量")

2201_76125261的博客 2380

统一身份认证服务(CAS)系统实现SSO认识

CAS(Central Authentication Service)即中央认证服务,是 Yale 大学发起的一个企业级开源项目,旨在为Web 应用系统提供一种可靠的 SSO 解决方案,它是一个企业级的开源单点认证登录解决方案,采用java语言编写,使用Apache-2.0协议,主要用于为Web应用程序创建和维护单点登录会话。它提供了一个安全可靠的方式来验证用户的身份,并且可以集成到各种Web应用程序中。CAS提供了多种认证机制,包括基于令牌的认证、基于密码的认证和多因素认证等。

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 4593

Python 爬虫实战:爬取评论数据做情感分析

摘要:本文介绍基于Python的京东商品评论爬取与情感分析全流程实现。通过Requests库抓取评论数据接口,结合JSON解析获取结构化评论信息。利用SnowNLP进行中文文本情感分析,量化用户评价的情感倾向(正面/负面/中性)。结果显示正面评论占比66.3%,负面评论13.3%,关键词分析发现"卡顿""发热"是主要负面因素。该方法可应用于产品优化、品牌管理等场景,为决策提供数据支持。

2503_91057718的博客 1709

cas java client_SSO单点登录教程(九)CAS-搭建CAS Client客户端

作者:蓝雄威,叩丁狼教育高级讲师。原创文章,转载请注明出处。一、前言目前为止我们已经搭建好了CAS Server端,我们需要来搭建客户端配合使用,完成单点登录和单点注销的功能.我们将讲两种方式来搭建CAS Client端.一种是普通项目搭建,另一种是基于SpringBoot的项目搭建.二、普通项目搭建CAS Client官方提供了一个简易的模板来搭建CAS Client.Github地址:http...

weixin_39970823的博客 675

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

nodejs 单点登录 java,nodejs 使用CAS 实现 单点登录(SSO) 【开源库实现,简单】...

大部分企业使用 java 开发业务系统, 针对java cas的认证 demo 比较多 ,还有PHPCAS ,标准的参考这里:整理登录流程如下图,图片来自网络找了不少资料,nodejs 实现的比较少,npm 上库很多,试用了好几个才成功。注意参数解析Many of these options are borrowed from node's url documentation. You may s...

weixin_30674575的博客 1232

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java使用CAS实现SSO单点登录

CAS介绍 开源的企业级单点登录解决方案CAS Server 是需要独立部署的 Web 应用CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等   CAS服务部署 CAS服务端下载:http://downloads.jasig.org/cas/解压z

zhangfantmy的专栏 4315

java单点登录sso的实例_基于CAS的SSO(单点登录)实例

第一步 部署CAS-Server(服务端)1.从CAS官方网站(http://developer.jasig.org/cas/)下载最新版本的CAS-Server(当前最新版本cas-server-4.0.0-release.zip),将其解压,找到modules/cas-server-webapp-3.5.2.war,复制到本地tomcat下的webapps下,并重命名为cas.war(可以是其...

weixin_36115475的博客 529

cas java单点登录_基于CAS实现SSO单点登录

CAS代码和接入demo网上满天飞,也挺简单,不再赘述,这里仅理一下CAS原理和基础模式流程。所谓单点登录,就是同平台的诸多应用登陆一次,下一次就免登陆的功能。就像你在知乎首页登录一次,下一次再访问知乎专栏或是知乎日报就可以免去登录操作。实现SSO的方式有很多,现在主流的就是CAS这种基于session的单点登录形式。结构CAS分为两部分,CAS Server和CAS ClientCAS Serv...

weixin_39790168的博客 333

【实战系列之CAS实现SSO单点登录】

首先,我们需要明确SSO(Single Sign-On,单点登录)的概念。SSO允许用户使用一组凭据(如用户名和密码)登录多个应用程序,而无需为每个应用程序单独认证。这样不仅提升了用户体验,还加强了安全性,因为用户无需记住多个密码。CAS(Central Authentication Service)是实现SSO的一种流行方式。它是一个基于Web的应用程序,作为身份验证服务器,管理用户对各种应用程序的访问。

qq_33545255的博客 1157

JAVA CAS单点登录(SSO) 教程

一、教程前言教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤 单点登录(SSO):请看百科解释猛击这里打开 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server),官网:http://www.jasig.or

水岸梦城 技术博客 8162

最新《Java SSO之CAS单点登录教程》

1. CAS 简介1.1.What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。 CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目。 1.2.主要...

weixin_44994337的博客 352
上一篇: web应用中Spring ApplicationContext的动态更新
下一篇: 使用 RMI + ZooKeeper 实现远程调用框架
杜引强
博客等级 码龄13年 806粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值