接入指南
这里的云网网站应用是指云网主平台或各子平台的Web应用或H5应用。
集成说明
通常情况下,云网的网站应用只需要集成用户中心的统一认证服务,登录、注册、用户和企业管理等功能都完全由用户中心提供,应用无需进行研发,当然,需要独立研发用户中心功能的情况除外。
根据应用的架构和场景不同,集成方式也不同,以下是几类常见的集成场景:
1. 集成CAS统一认证:适用于完全依赖平台用户中心的Web应用或H5应用(应用是非前后端分离架构)。
2. 集成SSO认证接口:适用于完全依赖平台用户中心的Web应用或H5应用(应用是前后端分离架构)。
3. 集成用户管理接口:适用于独立研发用户中心页面功能的Web应用或H5应用,开发者可以通过调用接口,来自主实现用户注册、用户登录、用户及企业信息管理等页面功能。
集成CAS流程
1. cas说明
用户中心的CAS统一认证中心是基于标准的CAS协议实现的。CAS是中央认证服务,是互联网常用的标准协议,通过集成CAS认证的应用,用户登录状态会和云网平台保持一致。适用于完全依赖云网平台用户中心的应用。
CAS由CAS Server和CAS Client 两部分组成,CAS Server提供认证服务,CAS Client支持多种客户端(Java,.Net,PHP,Perl,Apache,uPortal,Ruby)。
CAS认证流程如下图所示:
2. demo说明
用户中心提供了基于SpringMVC架构的应用集成CAS的demo示例(立即下载),下面讲解demo中的细节问题
(1). casdemo目录结构如下图所示:
(2). 首先需要在应用的gradle或maven中引用casclient的sdk包,gradle引用示例如下:
compile('org.jasig.cas.client:cas-client-core:3.2.1')
(3). 其次需要在web.xml中配置cas相关的认证Filter,需要改动的地方就是将所有“http://localhost:8080”改成应用的实际地址即可,示例如下:
org.jasig.cas.client.session.SingleSignOutHttpSessionListener casTicketCheckFilter org.jasig.cas.client.filter.CasTicketCheckFilter casTicketCheckFilter /* CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter CAS Single Sign Out Filter /j_spring_cas_security_check CASFilter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl http://cast.casicloud.com/login serverName http://localhost:8080 CASFilter /j_spring_cas_security_check CAS Validation Filter org.jasig.cas.client.validation.CasTicketValidationFilter casServerUrlPrefix http://cast.casicloud.com serverName http://localhost:8080 encoding UTF-8 redirectAfterValidation true " CAS Validation Filter /j_spring_cas_security_check
(4). 最后将demo中的所有java类拷贝到自己的项目中。需要注意的事项如下:
注意点 | 说明 |
---|---|
固定包名 | org.jasig.cas.client,此包名是固定不变的,包下类的位置也是固定的 |
IndexController | 非必须的类,此类是示例类,举例说明后端如何获取当前登录用户,并将用户信息传给前端 |
LoginController | 必须的类,此类是登录、登出、认证的控制类 |
User | 必须的类,此类是登录用户的实体类,用于储存用户属性 |
UserHelper | 必须的类,此类是用户登录逻辑的帮助类,类中定义了获取当前登录的用户信息,判断用户是否登录,重定向到登录页面等方法 |
Constants | 非必须的类,此类是常量类,用于存储常量数据,在实际使用中,可把常量值存储在配置文件中,废除此类 |
至此,应用集成cas的工作就完成了。
集成SSO流程
SSO是基于统一认证中心CAS实现的面向前后端分离项目的统一认证服务,并实现了多系统用户登录状态同步。适用于完全依赖云网平台用户中心的前后端分离架构的应用。SSO的认证接口详见开放API。
应用集成SSO认证时,可能有即时登录和触发式登录两种需求,下面以流程图的形式为开发者清晰的画出应用集成SSO的逻辑:
1. 自动触发登录,是指用户在访问应用的任何页面,都需要用户登录,没有访客身份存在。
2. 手动触发登录,是指用户在访问应用的指定页面或所有页面,若用户已登录同步用户登录状态,若用户未登录支持以访客身份存在。
集成用户/企业管理流程