本文作者:kaifamei

一种Web应用中的单点注销方法及装置与流程

更新时间:2025-12-27 14:26:55 0条评论

一种Web应用中的单点注销方法及装置与流程


一种web应用中的单点注销方法及装置
技术领域
1.本发明涉及web应用系统身份鉴别技术领域,具体提供一种web应用中的单点注销方法及装置。


背景技术:



2.同一个单位内部可能存在多个web应用业务系统,为了方便用户的操作,增强用户体验,一个单位内部的多个业务系统之间多采用单点登录进行集成。单点登录集成后,往往需要进行单点注销实现统一退出的效果。
3.目前比较普遍的单点注销方式就是使用ajax轮询,逐次向每个客户端发送注销请求,所有客户端注销完成后,单点注销完成。但是,ajax轮询注销仍然存在一些不足:其一,不能跨域,不支持跨域发送请求;其二,只能逐个顺序发送请求,注销效率低。


技术实现要素:



4.本发明是针对上述现有技术的不足,提供一种实用性强的web应用中的单点注销方法。
5.本发明进一步的技术任务是提供一种设计合理,安全适用的web应用中的单点注销装置。
6.本发明解决其技术问题所采用的技术方案是:
7.一种web应用中的单点注销方法,所述单点注销为当cas认证服务端接收到子系统的注销请求后,会依次对已经注册到认证服务端的其它子系统发送注销通知,当各子系统收到注销通知后,会调用自身的注销接口进行注销操作;
8.完成cas认证服务端的操作后,客户端接收到注销请求后,客户端会根据自身的单点认证方式进行session或token的自动注销。
9.进一步的,所述cas认证服务端进行配置时,首先在application.properties配置文件中对单点登出的基本信息进行配置,配置内容包括cas.logout.removedescendanttickets配置为true,cas.slo.asynchronous配置为true,这两个参数的意义是在收到注销请求后移除子系统的票据并且依次通知客户端。
10.进一步的,对单点登出的基本信息进行配置后,接下来需要在服务注册文件中添加子系统的注销方式及注销地址,即配置logouttype和logouturl参数,所述logouttype参数值默认为back_channel,配置成功后,cas服务端将会在启动时加载所述子系统的信息,并且在注销时同时向logouturl对应的服务路径发送相应的注销请求。
11.进一步的,cas认证服务端的配置后,客户端首先添加一个监听来自cas认证服务端的注销请求,在接收到注销请求后,所述客户端会根据自身的单点认证方式进行session或token的自动注销。
12.进一步的,客户端添加cas-client-autoconfig-support的cas客户端依赖,然后在项目中添加一个casconfig配置类,所述配置类中需要配置的属性有cas服务端的地址及
客户端自身的上下文地址与端口号,注册单点注销的过滤器类customsinglesignoutfilter;
13.所述过滤器为拦截cas服务端发出的注销请求,并执行客户端的注销操作。
14.进一步的,需要注意的是,所述过滤器的执行顺序设置为第一位从而使得客户端优先对注销请求进行处理,cas服务端发出的注销请求中会包含一条logout message信息,当过滤器检查到请求中包含logout message信息时就会认为所述请求为一条客户端注销请求,否则不会进行任何操作。
15.进一步的,需要注意的是,在所述过滤器类中,退出逻辑由customsinglesignouthandler类中的destroysession实现,从注销请求中解析出session id,客户端在登录时cas服务端会分配一串编码作为session id,所以客户端将id与自身的session或token进行绑定存储,在注销时则凭借所述id将session或token进行注销,同时将缓存中对应的用户信息进行删除,浏览器会自动将地址重定向到登录页面。
16.一种web应用中的单点注销装置,包括:至少一个存储器和至少一个处理器;
17.所述至少一个存储器,用于存储机器可读程序;
18.所述至少一个处理器,用于调用所述机器可读程序,执行一种web应用中的单点注销方法。
19.本发明的一种web应用中的单点注销方法及装置和现有技术相比,具有以下突出的有益效果:
20.本发明不仅可以实现跨域发送注销请求,而且可以高效率的实现多个子系统的同时注销。且配置过程较为简单,具有一定的通用性。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.附图1是一种web应用中的单点注销方法的流程示意图。
具体实施方式
23.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
24.下面给出一个最佳实施例:
25.如图1所示,本实施例中的一种web应用中的单点注销方法,单点注销为当cas认证服务端接收到子系统的注销请求后,会依次对已经注册到认证服务端的其它子系统发送注销通知,当各子系统收到注销通知后,会调用自身的注销接口进行注销操作,即cas服务端只负责发送通知,而真正的注销操作由子系统独立完成。
26.完成cas认证服务端的操作后,客户端接收到注销请求后,客户端会根据自身的单
点认证方式进行session或token的自动注销。
27.cas认证服务端进行配置时,首先在application.properties配置文件中对单点登出的基本信息进行配置,配置内容包括如下几项,cas.logout.removedescendanttickets配置为true,cas.slo.asynchronous配置为true,这两个参数的意义是在收到注销请求后移除子系统的票据并且依次通知客户端。
28.接下来需要在服务注册文件中添加该子系统的注销方式及注销地址,即配置logouttype和logouturl参数,logouttype参数值默认为back_channel(隐式退出)。配置成功后,cas服务端将会在启动时加载该子系统的信息,并且在注销时同时向logouturl对应的服务路径发送相应的注销请求。
29.完成cas认证服务端的配置后,客户端需要进行以下两步操作才能实现单点注销操作。首先是添加一个监听来自cas认证服务端的注销请求,在接收到注销请求后,该客户端会根据其自身的单点认证方式进行session或token的自动注销。
30.以jeecgboot框架为例,其使用token方式进行用户信息的认证,所以在注销时需要将会话对应的token在redis缓存中删除以完成注销操作。下面将详细阐述客户端的配置步骤。
31.首先客户端需要添加cas-client-autoconfig-support的cas客户端依赖,然后在项目中添加一个casconfig配置类,该配置类中需要配置的属性有cas服务端的地址及客户端自身的上下文地址与端口号,其主要作用是注册单点注销的过滤器类customsinglesignoutfilter。
32.该过滤器的作用是拦截cas服务端发出的注销请求,并执行客户端的注销操作。需要注意的是,该过滤器的执行顺序(order)需要设置为第一位从而使得客户端优先对注销请求进行处理。cas服务端发出的注销请求中会包含一条logout message信息。
33.当过滤器检查到请求中包含该信息时就会认为该请求为一条客户端注销请求,否则不会进行任何操作。在该过滤器类中,退出逻辑由customsinglesignouthandler类中的destroysession实现。
34.该方法会从注销请求中解析出session id,由于客户端在登录时cas服务端会为其分配一个独一无二的一串编码作为session id,所以客户端可以将该id与自身的session或token进行绑定存储,在注销时则可以凭借该id将session或token进行注销,同时将缓存中对应的用户信息进行删除。当上述操作完成后,浏览器会自动将地址重定向到登录页面。
35.基于上述方法,本实施例中的一种web应用中的单点注销装置,包括:至少一个存储器和至少一个处理器;
36.所述至少一个存储器,用于存储机器可读程序;
37.所述至少一个处理器,用于调用所述机器可读程序,执行一种web应用中的单点注销方法。
38.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种web应用中的单点注销方法及装置权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
39.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:


1.一种web应用中的单点注销方法,其特征在于,所述单点注销为当cas认证服务端接收到子系统的注销请求后,会依次对已经注册到认证服务端的其它子系统发送注销通知,当各子系统收到注销通知后,会调用自身的注销接口进行注销操作;完成cas认证服务端的操作后,客户端接收到注销请求后,客户端会根据自身的单点认证方式进行session或token的自动注销。2.根据权利要求1所述的一种web应用中的单点注销方法,其特征在于,所述cas认证服务端进行配置时,首先在application.properties配置文件中对单点登出的基本信息进行配置,配置内容包括cas.logout.removedescendanttickets配置为true,cas.slo.asynchronous配置为true,这两个参数的意义是在收到注销请求后移除子系统的票据并且依次通知客户端。3.根据权利要求2所述的一种web应用中的单点注销方法,其特征在于,对单点登出的基本信息进行配置后,接下来需要在服务注册文件中添加子系统的注销方式及注销地址,即配置logouttype和logouturl参数,所述logouttype参数值默认为back_channel,配置成功后,cas服务端将会在启动时加载所述子系统的信息,并且在注销时同时向logouturl对应的服务路径发送相应的注销请求。4.根据权利要求3所述的一种web应用中的单点注销方法,其特征在于,cas认证服务端的配置后,客户端首先添加一个监听来自cas认证服务端的注销请求,在接收到注销请求后,所述客户端会根据自身的单点认证方式进行session或token的自动注销。5.根据权利要求4所述的一种web应用中的单点注销方法,其特征在于,客户端添加cas-client-autoconfig-support的cas客户端依赖,然后在项目中添加一个casconfig配置类,所述配置类中需要配置的属性有cas服务端的地址及客户端自身的上下文地址与端口号,注册单点注销的过滤器类customsinglesignoutfilter;所述过滤器为拦截cas服务端发出的注销请求,并执行客户端的注销操作。6.根据权利要求5所述的一种web应用中的单点注销方法,其特征在于,需要注意的是,所述过滤器的执行顺序设置为第一位从而使得客户端优先对注销请求进行处理,cas服务端发出的注销请求中会包含一条logout message信息,当过滤器检查到请求中包含logout message信息时就会认为所述请求为一条客户端注销请求,否则不会进行任何操作。7.根据权利要求6所述的一种web应用中的单点注销方法,其特征在于,需要注意的是,在所述过滤器类中,退出逻辑由customsinglesignouthandler类中的destroysession实现,从注销请求中解析出session id,客户端在登录时cas服务端会分配一串编码作为session id,所以客户端将id与自身的session或token进行绑定存储,在注销时则凭借所述id将session或token进行注销,同时将缓存中对应的用户信息进行删除,浏览器会自动将地址重定向到登录页面。8.一种web应用中的单点注销装置,其特征在于,包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至7任一所述的方法。

技术总结


本发明涉及Web应用系统身份鉴别技术领域,具体提供了一种Web应用中的单点注销方法,所述单点注销为当CAS认证服务端接收到子系统的注销请求后,会依次对已经注册到认证服务端的其它子系统发送注销通知,当各子系统收到注销通知后,会调用自身的注销接口进行注销操作;完成CAS认证服务端的操作后,客户端接收到注销请求后,客户端会根据自身的单点认证方式进行session或token的自动注销。与现有技术相比,本发明不仅可以实现跨域发送注销请求,而且可以高效率的实现多个子系统的同时注销。且配置过程较为简单,具有一定的通用性。具有一定的通用性。具有一定的通用性。


技术研发人员:

刘如琛

受保护的技术使用者:

山东浪潮新基建科技有限公司

技术研发日:

2022.09.16

技术公布日:

2022/12/9


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-50394-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-19 23:18:05

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论