ag平台是啥 AG单点登录业务系统解决方案(1)

作者:华耀科技AG研发专家张宗骏

在SSL VPN的使用场景中,对于后台业务系统的单点登录需求较为广泛。客户环境中,可能部署了统一的认证平台,来自于客户自身系统或来自于第三方;也可能是不同的业务系统有着自己的用户验证逻辑。

在上一篇介绍SSO的文章中,对SSO的概念及主要实现机制进行了介绍,并介绍了通过Session方式实现SSO的场景。在本文中,将探讨通过Cookie方式实现SSO的场景。

目前大部分SSO产品采用的是Cookie机制,最好的开源单点登录产品CAS就是采用的Cookie机制。CAS(Central Authentication Service)是耶鲁大学发起的一个企业级的开源项目,旨在为Web应用系统提供一种可靠的单点登录解决方法。CAS使用票据(Ticket)来实现支持的认证协议。

本文所描述的方案支持CAS登录以及其他任何通过AG实现单点登录的场景。

// 场景需求

华耀AG支持终端用户的接入方式有三层VPN接入以及七层VPN接入。对于有单点登录需求的业务系统,需要使用七层方式接入;不需要单点登录的业务系统,使用三层或七层方式接入。

当使用浏览器/客户端访问时,用户输入信息认证成功之后,即可看到后台系统链接。这时用户点击某链接访问系统时(例如OA系统),无需再次认证,而是直接进入业务系统。

// 场景及方案

CAS统一认证中心单点登录场景

AAA认证可以是LDAP、Radius、HTTP认证等方式。访问业务系统时需要通过CAS认证中心校验用户的合法性,用户提交的认证信息中,包含了一些动态内容,比如 sessionID。并且,用户提交的信息需要可以是表单格式,也可以是使用ajax来发送json格式的数据。

在此背景下,为了实现单点登录需求,我们推出了解决方案,方案采取的原理是“代填”,即在CAS认证的登录页面上自动填入登录VPN的用户名及密码,然后自动触发用户信息的提交。AG只需要代填用户名和密码这两项就足够,因为其他的信息已经在页面上存在了。此方案中,在用户点击需要进行单点登录的业务系统URL时,AG所做的工作是模拟了用户手动填写用户名和密码然后点击“登录”按钮的操作,与CAS认证服务器的交互还是由前端的浏览器来完成的。

流程图

ag平台是啥 AG单点登录业务系统解决方案(2)

此方案无需过多的配置,一般来说,仅需要一条改写规则就可实现。但如何写这条规则,根据不同的环境会有不同的难度,需要精通Web前端代码的工程师来操作。

此方案的用户体验:点击业务系统链接后能看到CAS登录页面带着自己的用户信息一闪而过,如果用户信息验证通过,则直接进入业务系统页面。

此方案利用了华耀独有的自定义改写技术(Custom Rewrite),可以支持任何方式的七层接入的单点登录。

方案限制:

目前,此方案尚不支持业务系统的用户登录页面中含有动态码。

此方案仅支持七层接入。

,