华耀AG网关的解决方案之一:七层代理访问场景
01
方案背景
单点登陆(SignOn,简称SSO)的作用是在多个应用系统中,终端用户只须要一次登陆就可以访问所有互相信任的应用系统。SSO使用户可以快速访问网路,进而提升工作效率,提高用户使用体验。在SSLVPN的使用场景中,对于后台业务系统的单点登陆需求较为广泛。SSO也是目前比较流行的企业业务整合的解决方案之一。
#
02 #
方案概述
华耀AGVPN网段的解决方案中可以提供多种接入方法,主要分为基于浏览器或应用接入方法。当管理员在AG上配置并打开SSO功能模块,无论用户是使用浏览器或则使用APP进行访问,当用户完成VPN认证后,才能在欢迎页面上看见被授权访问的各类后台资源;当用户点击页面某链接访问对应资源(如OA系统)时,则无需再度认证,便可直接步入系统(OA系统)业务界面。
另外针对顾客环境中布署了统一的认证平台的场景中,AG可以与统一认证平台协同工作实现业务系统的单点登陆功能,即:实现只需登陆一次VPN,便可访问VPN以后所有的应用系统,而无需多次重复登入。
03
应用场景 #
场景一: #
七层代理访问场景,业务系统支持Basic/NTLM认证 #
当业务系统的认证形式是Basic认证或NTLM认证时,管理员只须要在AGWebUI页面或则通过命令行打开单点登陆SSO开关,AG则会手动递交登陆信息。
#
单点登陆开启(七层代理访问模式): #
1)用户输入用户名密码登入AG。
#
2)认证成功后,AG为用户创建会话。
3)用户通过AG向后台服务器发起恳求,该服务器须要Basic认证。 #
4)服务器返回401应答,告知顾客端须要进行Basic认证。
5)AG收到此401报文后,将用户名和密码组合成:的方式,再进行编码如何实现单点登录,将编码后的值置于恳求背部的数组中。之后向服务器发起恳求。 #
6)服务器验证用户名和密码,通过后返回该用户可访问的资源页面。 #
7)用户步入服务器资源页面,通过AG与服务器进行数据交互。 #
简单概括:单点登陆开启后,AG模拟了终端用户在顾客端浏览器的弹出窗口中输入认证信息并递交的过程。
方案特性:配置简单,通过七层访问。 #
场景二:
七层代理访问场景,业务系统认证为表单格式 #
此场景中,业务系统支持Form表单的POST恳求,在POST的数据中携带用户名和静态密码或则其他静态数据。 #
此场景可以通过在AG上配置SSOPOST规则来实现;实现原理是,当用户登入AG虚拟站点后,在欢迎页面上点击业务系统链接时,AG服务器通过HTTPPOST的形式将用户名和静态密码以及配置的其他静态数据统一发送至业务系统,完成认证流程。
#
单点登陆开启(七层代理访问模式),POST规则正确配置:
#
1)用户输入用户名密码登入AG。
2)认证成功如何实现单点登录,AG为用户创建会话。
3)用户通过AG向后台服务器发起恳求,该服务器须要认证。 #
4)服务器发觉用户没有完善会话,返回了认证页面要求用户认证。 #
5)AG检查到认证页面是须要进行SSOPOST的页面,则发送表单POST恳求,携带用户名和登陆AG的密码,到指定的URL(SSOPOST规则中配置)。 #
6)服务器验证用户名密码,通过后,返回资源页面,构建用户会话。 #
7)用户步入服务器资源页面,通过AG与服务器进行数据交互。 #
方案特性:POST恳求由AG在前端发送而不是顾客端浏览器发送;通过七层访问,恳请没有跨域。
场景三: #
三层隧洞访问场景,业务系统认证为表单格式 #
此场景与上一个场景基本一致,惟一区别在于该场景使用的是三层隧洞访问模式。
此场景方案的实现不仅须要在AG上配置SSOPOST规则之外,还需在配置角色资源时选择后端SSO。 #
该方案的实现原理是,当用户登入AG虚拟站点,三层VPN隧洞构建以后,在欢迎页面上点击业务系统链接时,AG会组装一个页面,此页面中会有一个表单,表单数据包含了登陆AG的用户名和静态密码以及其他须要传输的静态数据。这个页面会被重定向到顾客端,顾客端浏览器通过HTTPPOST的形式将用户名和静态密码以及配置的其他静态数据一并发送至业务系统完成认证流程。
单点登陆开启(三层隧洞访问模式),POST规则正确配置: #
1)用户输入用户名密码登入AG。
#
2)认证成功后,AG为用户创建会话,同时启动三层VPN隧洞。
3)用户通过AG向后台服务器发起恳求,该服务器须要认证。
【注意】后台服务器的URL链接是显示在AG的欢迎页面上,此URL是根据某种特定的格式进行了拼装,用户在页面上点击该链接访问时,AG会进行特殊处理。
#
4)AG检查到该请求是须要进行SSOPOST的页面,则组装一个动态的HTML页面,将真实的后台服务器URL、用户名和密码数组封装在Form表单中,并使用代码让表单手动递交。AG将此HTML页面重定向到顾客端浏览器。 #
5)浏览器发送表单POST恳求,携带用户名和登陆AG的密码,到指定的URL。 #
6)服务器验证用户名密码,通过后,返回资源页面,构建用户会话。 #
7)用户步入服务器资源页面,与服务器直接进行数据交互。
#
此场景特征:POST恳求由顾客端浏览器发送;通过三层访问,恳请跨域。
#
以上就是单点登陆需求中最为简单的几个场景,配置简单,而且因为现今顾客业务系统的复杂性的提升以及安全性的提高,这几种场景早已很难满足最新的顾客单点需求。我们会在接出来的文章中深入的介绍更复杂更建立的单点登陆实现方案。 #
上篇预告:AG单点登陆业务系统解决方案-高级篇