CN115459954A - 一种系统的认证方法及相关设备 - Google Patents
一种系统的认证方法及相关设备 Download PDFInfo
- Publication number
- CN115459954A CN115459954A CN202210953399.XA CN202210953399A CN115459954A CN 115459954 A CN115459954 A CN 115459954A CN 202210953399 A CN202210953399 A CN 202210953399A CN 115459954 A CN115459954 A CN 115459954A
- Authority
- CN
- China
- Prior art keywords
- cas
- server
- cas server
- client
- identity authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 20
- 235000014510 cooky Nutrition 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004573 interface analysis Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种系统的认证方法及相关设备。接收到通过浏览器访问CAS客户端的指令,定向到CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面;在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,对所述ST进行验证,响应于所述ST验证成功,访问所述CAS客户端;响应于用户再次访问所述CAS客户端,确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST,响应于所述新的ST验证成功,访问所述CAS客户端。
Description
技术领域
本公开涉及数据认证技术领域,尤其涉及一种系统的认证方法及相关设备。
背景技术
在用户登录系统的过程中,会遇到每次登录都需要重新进行身份认证的情况,操作繁琐,不能实现系统的快速登录认证。
有鉴于此,如何实现保存身份认证信息,简化登录操作,成为需要解决的问题。
发明内容
有鉴于此,本公开的目的在于提出一种系统的认证方法及相关设备用以解决或部分解决上述技术问题。
基于上述目的,本公开的第一方面提出了一种系统的认证方法,所述方法应用于登录认证系统,所述系统包括:CAS服务端、CAS客户端和浏览器,其中,所述CAS客户端接入所述CAS服务端,所述方法包括:
接收到通过所述浏览器访问所述CAS客户端的指令,定向到所述CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面;
在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;
所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,所述浏览器通过所述CAS服务端对所述ST进行验证,响应于所述ST验证成功,对所述CAS客户端进行访问;
响应于用户再次访问所述CAS客户端,定向到CAS服务端,判断所述CAS服务端中是否存在所述身份认证信息,响应于确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST并定向到所述浏览器,所述浏览器通过所述CAS服务端对所述新的ST进行验证,响应于所述新的ST验证成功,对所述CAS客户端进行访问。
在一些实施例中,在接收到通过所述浏览器访问所述CAS客户端的指令之前,还包括:
所述CAS客户端引入spring-security-cas和cas-client-core依赖,对所述CAS客户端获取的spring-security.xml文件进行更改,添加过滤器;
所述CAS客户端通过创建UserDetailsServiceImpl实现对UserDetailsService接口的创建,并对loadUserByUsername进行复写;
所述CAS客户端通过在所述CAS客户端获取的web.xml文件中添加springmvc,创建springmvc.xml文件,配置component组件扫描路径,编写Restful接口解析token标志获得用户信息,以完成所述CAS客户端的配置。
在一些实施例中,在定向到CAS服务端之前,还包括:
所述CAS服务端将下载下来的cas serverwar包重新命名为cas.war,并将所述cas.war包放入tomcat目录下的webapps下;
所述CAS服务端启动所述tomcat目录并自动解压所述cas.war包,在所述浏览器中输入第一网址,定向到所述登录页面,以完成所述CAS服务端的部署。
在一些实施例中,在定向到CAS服务端之前,还包括:
所述CAS服务端新建cas_server,解压所述cas.war包,将所述cas.war包中的内容替换到所述cas_server的WebRoot目录下,并将web_Inf下的内容拷贝到src下,并进行运行;
所述CAS服务端通过所述第一网址获得端口服务信息,根据所述端口服务信息获取对应的第一文件,对所述第一文件中的属性进行更改。
在一些实施例中,在定向到CAS服务端之前,还包括:
所述CAS服务端打开所述tomcat目录下的conf\server.xml文件,通过对所述conf\server.xml文件进行配置将第一端口更改为第二端口,并对WEB-INF/cas.properties文件进行修改,以完成所述CAS服务端的配置。
在一些实施例中,在定向到CAS服务端之前,还包括:
所述CAS服务端对第二文件进行配置,增加参数p:requireSecure="false",通过requireSecure属性判断是否需要进行安全验证,响应于所述参数p为false,所述CAS服务端不是HTTPS认证;
所述CAS服务端对第三文件进行配置,增加参数p:cookieSecure="true",通过cookieSecure属性判断是否需要进行安全验证,响应于所述参数p为true,所述CAS服务端是HTTPS认证;
所述CAS服务端增加参数p:cookieMaxAge="x",其中,所述参数p为cookie的最大生命周期,x为无生命周期;
所述CAS服务端对第四文件进行配置,将所述cookieSecure改为false,对所述cookieMaxAge进行更改,以完成去除HTTPS认证。
在一些实施例中,在定向到CAS服务端之前,还包括:
所述CAS服务端新建一个类,在新建的所述类中对PasswordEncoder接口进行重写,以修改加密方式。
基于同一个发明构思,本公开的第二方面提出了一种系统的认证装置,包括:
判定模块,被配置为接收到通过所述浏览器访问所述CAS客户端的指令,定向到所述CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面;
服务票证生成模块,被配置为在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;
验证模块,被配置为所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,所述浏览器通过所述CAS服务端对所述ST进行验证,响应于所述ST验证成功,对所述CAS客户端进行访问;
再次验证模块,被配置为响应于用户再次访问所述CAS客户端,定向到CAS服务端,判断所述CAS服务端中是否存在所述身份认证信息,响应于确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST并定向到所述浏览器,所述浏览器通过所述新的CAS服务端对所述新的ST进行验证,响应于所述新的ST验证成功,对所述CAS客户端进行访问。
基于同一发明构思,本公开的第三方面提出了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上所述的方法。
基于同一发明构思,本公开的第四方面还提出了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述的方法。
从上面所述可以看出,本公开提供的系统的认证方法及相关设备,在接收到通过所述浏览器访问所述CAS客户端的指令后,定向到所述CAS服务端,当所述CAS服务端中不存在身份认证信息时,定向到所述CAS服务端的登录页面进行用户身份认证,认证完成后,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;对所述ST进行验证,当所述ST验证成功后,就可以对所述CAS客户端进行访问;由于第一次访问CAS客户端时,在所述CAS服务端进行了身份认证,所述CAS服务端中保存有用户的身份认证信息和TGT,当再次访问所述CAS客户端时,所述CAS服务端生成新的ST并对所述新的ST进行验证,当所述新的ST验证成功,即可对所述CAS客户端进行访问,不需再次进行身份认证,简化登录操作,实现系统的单点登录。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的系统的认证方法的流程图;
图2为本公开实施例的系统的认证装置的流程图;
图3为本公开实施例的电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本公开所涉及的名词解释如下:
CAS:中央认证服务(CentralAuthentication Service,简称CAS),是由耶鲁大学发起的一个开源项目,目的是帮助Web应用系统构建一种可靠的单点登录解决方案。
TGT:票证授予的票证(Ticket Granting ticket,简称TGT),是CAS Server根据用户名密码生成的一种票证的验证信息,存在server端,用户登录成功后,用户的基本信息,如用户名、登录有效期等信息,都将存储在此。
ST:服务票证(Service ticket,简称ST),由TGT生成的一次性票证,用于验证,只能用一次。
HTTPS:超文本传输安全协议(Hyper Text Transfer Protocol overSecureSocket Layer,简称HTTPS)是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
Cookie:一种身份认证信息,用于网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,通常是经过加密的身份认证信息。
如上所述,如何简化系统的登录操作,实现单点登录,成为一个重要的研究问题。
基于上述描述,如图1所示,本实施例提出的一种系统的认证方法,所述方法应用于登录认证系统,所述系统包括:CAS服务端、CAS客户端和浏览器,其中,所述CAS客户端接入所述CAS服务端,所述方法包括:
步骤101,接收到通过所述浏览器访问所述CAS客户端的指令,定向到所述CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面。
具体实施时,在对所述CAS客户端进行访问前,要先进行认证登录,当用户第一次进行登录时,所述CAS服务端中没有身份认证信息,此时,会跳转到所述CAS服务端的登录页面,以便用户进行身份认证和系统登录。
步骤102,在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST。
具体实施时,用户在身份认证成功后,所述CAS服务端会生成票证授予的票证TGT,所述TGT是根据用户的用户名密码等身份认证信息生成的一种票证,存储在所述CAS服务端。依据所述TGT可以生成ST,所述ST是由所述TGT生成的一次性票据,以便对用户身份进行验证,ST在进行验证时只能用一次,因此,可以提高身份验证过程的安全性。
步骤103,所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,所述浏览器通过所述CAS服务端对所述ST进行验证,响应于所述ST验证成功,对所述CAS客户端进行访问。
具体实施时,所述服务端将所述身份认证信息和生成的所述ST返回给所述浏览器,所述浏览器通过与所述CAS服务端存在的所述ST比对,进行所述ST的验证,所述ST验证成功,即用户的身份验证成功,用户的身份验证成功便可以对所述CAS客户端进行访问。
步骤104,响应于用户再次访问所述CAS客户端,定向到CAS服务端,判断所述CAS服务端中是否存在所述身份认证信息,响应于确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST并定向到所述浏览器,所述浏览器通过所述CAS服务端对所述新的ST进行验证,响应于所述新的ST验证成功,对所述CAS客户端进行访问。
具体实施时,当再次访问所述CAS客户端时,对所述CAS服务端中是否存在所述身份认证信息进行判断,由于第一次进行认证登录时进行了用户身份认证,所以所述CAS服务端中保存有所述身份认证信息,便可以不再对用户进行身份认证,所述CAS服务端依据所述TGT生成新的ST即可,通过对所述新的ST进行验证,实现对所述CAS客户端的访问。在这个过程中,直接依据所述TGT生成新的ST进行验证即可,不再需要进行用户的身份认证,简化了系统登录的认证操作,实现系统的单点登录。
在上述实施例中,在接收到通过所述浏览器访问所述CAS客户端的指令后,定向到所述CAS服务端,当所述CAS服务端中不存在身份认证信息时,定向到所述CAS服务端的登录页面进行用户身份认证,认证完成后,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;对所述ST进行验证,当所述ST验证成功后,就可以对所述CAS客户端进行访问;由于第一次访问CAS客户端时,在所述CAS服务端进行了身份认证,所述CAS服务端中保存有用户的身份认证信息和TGT,当再次访问所述CAS客户端时,所述CAS服务端生成新的ST并对所述新的ST进行验证,当所述新的ST验证成功,即可对所述CAS客户端进行访问,不需再次进行身份认证,简化登录操作,实现系统的单点登录。
在一些实施例中,步骤101之前还包括:
步骤100A,所述CAS客户端引入spring-security-cas和cas-client-core依赖,对所述CAS客户端获取的spring-security.xml文件进行更改,添加过滤器。
步骤100B,所述CAS客户端通过创建UserDetailsServiceImpl实现对UserDetailsService接口的创建,并对loadUserByUsername进行复写。
步骤100C,所述CAS客户端通过在所述CAS客户端获取的web.xml文件中添加springmvc,创建springmvc.xml文件,配置component组件扫描路径,编写Restful接口解析token标志获得用户信息,以完成所述CAS客户端的配置。
具体实施时,在所述CAS客户端引入spring-security-cas和cas-client-core依赖,通过添加过滤器可以实现单点退出、用户的认证工作、对Ticket的校验工作、实现HttpServletRequest请求的包裹、获取用户的登录名等。所述CAS客户端通过创建UserDetailsServiceImpl实现对UserDetailsService接口的创建,并对loadUserByUsername进行复写,可以在用户登录后得到用户的用户名,根据用户名可以查询角色列表或执行一些逻辑。所述CAS客户端通过配置component组件扫描路径,编写Restful接口解析token标志可以获得用户信息,完成所述CAS客户端的配置,当用户完成身份认证后,所述CAS客户端即可通过所述token标志获得用户的身份信息。
在一些实施例中,步骤101之前还包括:
步骤100D,所述CAS服务端将下载下来的cas serverwar包重新命名为cas.war,并将所述cas.war包放入tomcat目录下的webapps下。
步骤100E,所述CAS服务端启动所述tomcat目录并自动解压所述cas.war包,在所述浏览器中输入第一网址,定向到所述登录页面,以完成所述CAS服务端的部署。
具体实施时,所述CAS服务端将下载下来的cas serverwar包重新命名为cas.war,并将所述cas.war包放入tomcat目录下的webapps下。所述CAS服务端启动所述tomcat目录并自动解压所述cas.war包,在所述浏览器中输入第一网址,其中,第一网址为http://localhost:8080/cas,就可以跳转定向到所述登录页面,完成所述CAS服务端的部署,方便用户通过所述登录页面进行身份认证。
在一些实施例中,步骤101之前还包括:
步骤100F,所述CAS服务端新建cas_server,解压所述cas.war包,将所述cas.war包中的内容替换到所述cas_server的WebRoot目录下,并将web_Inf下的内容拷贝到src下,并进行运行。
步骤100G,所述CAS服务端通过所述第一网址获得端口服务信息,根据所述端口服务信息获取对应的第一文件,对所述第一文件中的属性进行更改。
具体实施时,所述CAS服务端新建cas_server,解压所述cas.war包,将所述cas.war包中的内容替换到所述cas_server的WebRoot目录下,并将web_Inf下的内容拷贝到src下,并进行运行。所述CAS服务端通过所述第一网址获得端口服务信息,其中,所述端口服务信息为localhost:8080/cas_server。根据所述端口服务信息获取对应的第一文件,其中,所述第一文件为WEB-INF\spring-configuration\applicationContext.xml。对所述第一文件中的属性进行更改,例如,对所述第一文件中的beansnames属性进行更改,实现对CAS服务端配置文件的修改,进一步优化所述CAS服务端的配置。
在一些实施例中,步骤101之前还包括:
步骤100H,所述CAS服务端打开所述tomcat目录下的conf\server.xml文件,通过对所述conf\server.xml文件进行配置将第一端口更改为第二端口,并对WEB-INF/cas.properties文件进行修改,以完成所述CAS服务端的配置。
具体实施时,所述CAS服务端打开所述tomcat目录下的conf\server.xml文件,通过对所述conf\server.xml文件进行配置将第一端口更改为第二端口,例如,所述第一端口为端口8080,第二端口为端口9100,可以通过对所述conf\server.xml文件进行配置将端口8080更改为端口9100,并对WEB-INF/cas.properties文件进行修改,完成所述CAS服务端的配置,进一步优化所述CAS服务端的配置。
在一些实施例中,步骤101之前还包括:
步骤100I,所述CAS服务端对第二文件进行配置,增加参数p:requireSecure="false",通过requireSecure属性判断是否需要进行安全验证,响应于所述参数p为false,所述CAS服务端不是HTTPS认证。
步骤100J,所述CAS服务端对第三文件进行配置,增加参数p:cookieSecure="true",通过cookieSecure属性判断是否需要进行安全验证,响应于所述参数p为true,所述CAS服务端是HTTPS认证。
步骤100K,所述CAS服务端增加参数p:cookieMaxAge="x",其中,所述参数p为cookie的最大生命周期,x为无生命周期。
步骤100L,所述CAS服务端对第四文件进行配置,将所述cookieSecure改为false,对所述cookieMaxAge进行更改,以完成去除HTTPS认证。
具体实施时,所述CAS服务端对第二文件进行配置,其中,所述第二文件为WEB-INF/deployerConfigContext.xml,通过对参数p进行判断,当参数p为false时,所述CAS服务端不是HTTPS认证;所述CAS服务端对第三文件进行配置,其中,所述第三文件为/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml,通过对参数p进行判断,当参数p为true时,所述CAS服务端是HTTPS认证;通过以上两种对参数p进行判断,判断所述CAS服务端是否为HTTPS认证。
具体实施时,所述CAS服务端增加参数p:cookieMaxAge="x",其中,所述参数p为cookie的最大生命周期,x为无生命周期。其中,x为-1,-1为无生命周期;所述CAS服务端对第四文件进行配置,其中,所述第四文件为WEB-INF/spring-configuration/warnCookieGenerator.xml,将所述cookieSecure改为false,对所述cookieMaxAge进行更改,例如,将所述cookieMaxAge更改为3600,通过以上文件配置及更改去除HTTPS认证。
在一些实施例中,步骤101之前还包括:
步骤100M,所述CAS服务端新建一个类,在新建的所述类中对PasswordEncoder接口进行重写,以修改加密方式。
具体实施时,所述CAS服务端新建一个类,在新建的所述类中对PasswordEncoder接口进行重写,例如,在新建的所述类中重写encode、matches,将参数转化为string形式,在自定义的配置类中将DelegatingPasswordEncoder转为新建的类名,通过对PasswordEncoder接口进行重写,可以修改加密方式,实现自定义加密。
在上述实施例中,在接收到通过所述浏览器访问所述CAS客户端的指令后,定向到所述CAS服务端,当所述CAS服务端中不存在身份认证信息时,定向到所述CAS服务端的登录页面进行用户身份认证,认证完成后,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;对所述ST进行验证,当所述ST验证成功后,就可以对所述CAS客户端进行访问;由于第一次访问CAS客户端时,在所述CAS服务端进行了身份认证,所述CAS服务端中保存有用户的身份认证信息和TGT,当再次访问所述CAS客户端时,所述CAS服务端生成新的ST并对所述新的ST进行验证,当所述新的ST验证成功,即可对所述CAS客户端进行访问,不需再次进行身份认证,简化登录操作,实现系统的单点登录。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种系统的认证装置。
参考图2,所述系统的认证装置,包括:
判定模块201,被配置为接收到通过所述浏览器访问所述CAS客户端的指令,定向到所述CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面;
服务票证生成模块202,被配置为在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;
验证模块203,被配置为所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,所述浏览器通过所述CAS服务端对所述ST进行验证,响应于所述ST验证成功,对所述CAS客户端进行访问;
再次验证模块204,被配置为响应于用户再次访问所述CAS客户端,定向到CAS服务端,判断所述CAS服务端中是否存在所述身份认证信息,响应于确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST并定向到所述浏览器,所述浏览器通过所述CAS服务端对所述新的ST进行验证,响应于所述新的ST验证成功,对所述CAS客户端进行访问。
在一些实施例中,判定模块201之前,还包括:
过滤器添加单元,被配置为所述CAS客户端引入spring-security-cas和cas-client-core依赖,对所述CAS客户端获取的spring-security.xml文件进行更改,添加过滤器;
接口创建单元,被配置为所述CAS客户端通过创建UserDetailsServiceImpl实现对UserDetailsService接口的创建,并对loadUserByUsername进行复写;
文件创建单元,被配置为所述CAS客户端通过在所述CAS客户端获取的web.xml文件中添加springmvc,创建springmvc.xml文件,配置component组件扫描路径,编写Restful接口解析token标志获得用户信息,以完成所述CAS客户端的配置。
在一些实施例中,判定模块201之前,还包括:
命名单元,被配置为所述CAS服务端将下载下来的cas serverwar包重新命名为cas.war,并将所述cas.war包放入tomcat目录下的webapps下;
服务端部署单元,被配置为所述CAS服务端启动所述tomcat目录并自动解压所述cas.war包,在所述浏览器中输入第一网址,定向到所述登录页面,以完成所述CAS服务端的部署。
在一些实施例中,服务端部署单元之后,还包括:
文件替换单元,被配置为所述CAS服务端新建cas_server,解压所述cas.war包,将所述cas.war包中的内容替换到所述cas_server的WebRoot目录下,并将web_Inf下的内容拷贝到src下,并进行运行;
文件属性更改单元,被配置为所述CAS服务端通过所述第一网址获得端口服务信息,根据所述端口服务信息获取对应的第一文件,对所述第一文件中的属性进行更改。
在一些实施例中,服务端部署单元之后,还包括:
服务端配置单元,被配置为所述CAS服务端打开所述tomcat目录下的conf\server.xml文件,通过对所述conf\server.xml文件进行配置将第一端口更改为第二端口,并对WEB-INF/cas.properties文件进行修改,以完成所述CAS服务端的配置。
在一些实施例中,服务端配置单元之后,还包括:
参数验证错误单元,被配置为所述CAS服务端对第二文件进行配置,增加参数p:requireSecure="false",通过requireSecure属性判断是否需要进行安全验证,响应于所述参数p为false,所述CAS服务端不是HTTPS认证;
参数验证正确单元,被配置为所述CAS服务端对第三文件进行配置,增加参数p:cookieSecure="true",通过cookieSecure属性判断是否需要进行安全验证,响应于所述参数p为true,所述CAS服务端是HTTPS认证;
参数验证单元,被配置为所述CAS服务端增加参数p:cookieMaxAge="x",其中,所述参数p为cookie的最大生命周期,x为无生命周期;
参数更改单元,被配置为所述CAS服务端对第四文件进行配置,将所述cookieSecure改为false,对所述cookieMaxAge进行更改,以完成去除HTTPS认证。
在一些实施例中,判定模块201之前,还包括:
加密方式修改单元,被配置为所述CAS服务端新建一个类,在新建的所述类中对PasswordEncoder接口进行重写,以修改加密方式。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的系统的认证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的系统的认证方法。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器310、存储器320、输入/输出接口330、通信接口340和总线350。其中处理器310、存储器320、输入/输出接口330和通信接口340通过总线350实现彼此之间在设备内部的通信连接。
处理器310可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器320可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器320中,并由处理器310来调用执行。
输入/输出接口330用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口340用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线350包括一通路,在设备的各个组件(例如处理器310、存储器320、输入/输出接口330和通信接口340)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器310、存储器320、输入/输出接口330、通信接口340以及总线350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的系统的认证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的系统的认证方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的系统的认证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种系统的认证方法,其特征在于,所述方法应用于登录认证系统,所述系统包括:CAS服务端、CAS客户端和浏览器,其中,所述CAS客户端接入所述CAS服务端,所述方法包括:
接收到通过所述浏览器访问所述CAS客户端的指令,定向到所述CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面;
在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;
所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,所述浏览器通过所述CAS服务端对所述ST进行验证,响应于所述ST验证成功,对所述CAS客户端进行访问;
响应于用户再次访问所述CAS客户端,定向到CAS服务端,判断所述CAS服务端中是否存在所述身份认证信息,响应于确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST并定向到所述浏览器,所述浏览器通过所述CAS服务端对所述新的ST进行验证,响应于所述新的ST验证成功,对所述CAS客户端进行访问。
2.根据权利要求1所述的方法,其特征在于,在接收到通过所述浏览器访问所述CAS客户端的指令之前,还包括:
所述CAS客户端引入spring-security-cas和cas-client-core依赖,对所述CAS客户端获取的spring-security.xml文件进行更改,添加过滤器;
所述CAS客户端通过创建UserDetailsServiceImpl实现对UserDetailsService接口的创建,并对loadUserByUsername进行复写;
所述CAS客户端通过在所述CAS客户端获取的web.xml文件中添加springmvc,创建springmvc.xml文件,配置component组件扫描路径,编写Restful接口解析token标志获得用户信息,以完成所述CAS客户端的配置。
3.根据权利要求1所述的方法,其特征在于,在定向到CAS服务端之前,还包括:
所述CAS服务端将下载下来的cas serverwar包重新命名为cas.war,并将所述cas.war包放入tomcat目录下的webapps下;
所述CAS服务端启动所述tomcat目录并自动解压所述cas.war包,在所述浏览器中输入第一网址,定向到所述登录页面,以完成所述CAS服务端的部署。
4.根据权利要求3所述的方法,其特征在于,在定向到CAS服务端之前,还包括:
所述CAS服务端新建cas_server,解压所述cas.war包,将所述cas.war包中的内容替换到所述cas_server的WebRoot目录下,并将web_Inf下的内容拷贝到src下,并进行运行;
所述CAS服务端通过所述第一网址获得端口服务信息,根据所述端口服务信息获取对应的第一文件,对所述第一文件中的属性进行更改。
5.根据权利要求3所述的方法,其特征在于,在定向到CAS服务端之前,还包括:
所述CAS服务端打开所述tomcat目录下的conf\server.xml文件,通过对所述conf\server.xml文件进行配置将第一端口更改为第二端口,并对WEB-INF/cas.properties文件进行修改,以完成所述CAS服务端的配置。
6.根据权利要求5所述的方法,其特征在于,在定向到CAS服务端之前,还包括:
所述CAS服务端对第二文件进行配置,增加参数p:requireSecure="false",通过requireSecure属性判断是否需要进行安全验证,响应于所述参数p为false,所述CAS服务端不是HTTPS认证;
所述CAS服务端对第三文件进行配置,增加参数p:cookieSecure="true",通过cookieSecure属性判断是否需要进行安全验证,响应于所述参数p为true,所述CAS服务端是HTTPS认证;
所述CAS服务端增加参数p:cookieMaxAge="x",其中,所述参数p为cookie的最大生命周期,x为无生命周期;
所述CAS服务端对第四文件进行配置,将所述cookieSecure改为false,对所述cookieMaxAge进行更改,以完成去除HTTPS认证。
7.根据权利要求1所述的方法,其特征在于,在定向到CAS服务端之前,还包括:
所述CAS服务端新建一个类,在新建的所述类中对PasswordEncoder接口进行重写,以修改加密方式。
8.一种系统的认证装置,包括:
判定模块,被配置为接收到通过所述浏览器访问所述CAS客户端的指令,定向到所述CAS服务端,判断所述CAS服务端中是否存在身份认证信息,响应于确定所述CAS服务端中不存在所述身份认证信息,定向到所述CAS服务端的登录页面;
服务票证生成模块,被配置为在所述登录页面进行用户身份认证,响应于确定所述用户身份认证成功,所述CAS服务端生成票证授予的票证TGT,依据所述TGT生成服务票证ST;
验证模块,被配置为所述CAS服务端将所述ST和所述身份认证信息定向返回到所述浏览器,所述浏览器通过所述CAS服务端对所述ST进行验证,响应于所述ST验证成功,对所述CAS客户端进行访问;
再次验证模块,被配置为响应于用户再次访问所述CAS客户端,定向到CAS服务端,判断所述CAS服务端中是否存在所述身份认证信息,响应于确定所述CAS服务端中存在所述身份认证信息,所述CAS服务端生成新的ST并定向到所述浏览器,所述浏览器通过所述CAS服务端对所述新的ST进行验证,响应于所述新的ST验证成功,对所述CAS客户端进行访问。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210953399.XA CN115459954A (zh) | 2022-08-10 | 2022-08-10 | 一种系统的认证方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210953399.XA CN115459954A (zh) | 2022-08-10 | 2022-08-10 | 一种系统的认证方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115459954A true CN115459954A (zh) | 2022-12-09 |
Family
ID=84296393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210953399.XA Pending CN115459954A (zh) | 2022-08-10 | 2022-08-10 | 一种系统的认证方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115459954A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9088564B1 (en) * | 2013-02-07 | 2015-07-21 | Intuit Inc. | Transitioning a logged-in state from a native application to any associated web resource |
CN105592026A (zh) * | 2014-11-14 | 2016-05-18 | 国家电网公司 | 一种多网段多系统单点登录方法 |
CN106357686A (zh) * | 2016-10-26 | 2017-01-25 | 中企动力科技股份有限公司 | 单点认证方法和系统 |
CN107911379A (zh) * | 2017-11-29 | 2018-04-13 | 链家网(北京)科技有限公司 | 一种cas服务器 |
CN109815010A (zh) * | 2018-12-29 | 2019-05-28 | 深圳供电局有限公司 | 一种云平台统一身份认证方法及系统 |
CN112468481A (zh) * | 2020-11-23 | 2021-03-09 | 西安西热电站信息技术有限公司 | 一种基于CAS的单页和多页web应用身份集成认证方法 |
US11153298B1 (en) * | 2017-09-02 | 2021-10-19 | Chipiworks Company | Method and apparatus for one or more certified approval services |
-
2022
- 2022-08-10 CN CN202210953399.XA patent/CN115459954A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9088564B1 (en) * | 2013-02-07 | 2015-07-21 | Intuit Inc. | Transitioning a logged-in state from a native application to any associated web resource |
CN105592026A (zh) * | 2014-11-14 | 2016-05-18 | 国家电网公司 | 一种多网段多系统单点登录方法 |
CN106357686A (zh) * | 2016-10-26 | 2017-01-25 | 中企动力科技股份有限公司 | 单点认证方法和系统 |
US11153298B1 (en) * | 2017-09-02 | 2021-10-19 | Chipiworks Company | Method and apparatus for one or more certified approval services |
CN107911379A (zh) * | 2017-11-29 | 2018-04-13 | 链家网(北京)科技有限公司 | 一种cas服务器 |
CN109815010A (zh) * | 2018-12-29 | 2019-05-28 | 深圳供电局有限公司 | 一种云平台统一身份认证方法及系统 |
CN112468481A (zh) * | 2020-11-23 | 2021-03-09 | 西安西热电站信息技术有限公司 | 一种基于CAS的单页和多页web应用身份集成认证方法 |
Non-Patent Citations (2)
Title |
---|
佚名: "Spring Security整合CAS", Retrieved from the Internet <URL:《https://blog.csdn.net/new_ord/article/details/109709181》> * |
佚名: "史上最强,Cas单点登录之服务端搭建", Retrieved from the Internet <URL:《https://blog.csdn.net/numbbe/article/details/112175435》> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460595B (zh) | 一种鉴权与业务服务方法、装置以及设备 | |
EP3356981B1 (en) | Single sign-on method for appliance secure shell | |
CN111078331B (zh) | 与web服务集成的电子表格界面中的自适应认证 | |
CN106302337B (zh) | 漏洞检测方法和装置 | |
KR101723937B1 (ko) | 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스 | |
CN104767719B (zh) | 确定登录网站的终端是否是移动终端的方法及服务器 | |
US20140310792A1 (en) | System and Method for Mobile Single Sign-On Integration | |
CN112492028B (zh) | 云桌面登录方法、装置、电子设备及存储介质 | |
Ferry et al. | Security evaluation of the OAuth 2.0 framework | |
CN112491776B (zh) | 安全认证方法及相关设备 | |
US20140215565A1 (en) | Authentication server, and method authenticating application | |
CN104580112A (zh) | 一种业务认证方法、系统及服务器 | |
US10110594B2 (en) | Header section download of package | |
CN114745156A (zh) | 分布式单点登录实现方法、装置、电子设备及存储介质 | |
CN112653673B (zh) | 基于单点登录的多因素认证方法和系统 | |
CN108600259B (zh) | 设备的认证和绑定方法及计算机存储介质、服务器 | |
CN117251837A (zh) | 一种系统接入方法、装置、电子设备及存储介质 | |
CN115459954A (zh) | 一种系统的认证方法及相关设备 | |
CN111314355A (zh) | 一种vpn服务器的认证方法、装置、设备及介质 | |
US20190098045A1 (en) | Browser injection prevention method, browser client and apparatus | |
CN111382415A (zh) | 一种统一登录方法及装置、电子设备 | |
CN112287327B (zh) | 易重构单点登录系统的方法、装置、介质和设备 | |
CN111885063B (zh) | 开源系统访问管控方法、装置、设备及存储介质 | |
CN112653676A (zh) | 一种跨认证系统的身份认证方法和设备 | |
US20150007292A1 (en) | User authentication utilizing patterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |