更新时间:2022-01-18
如果用户网络环境中已经部署WEB服务器,并且内网用户登录WEB服务器都有各自的账号和密码,那么可以采用WEB单点登录的方式,在内网用户通过WEB服务器的验证之后就通过设备的认证上网。配置界面如下图所示。
启用Web单点登录:开启和关闭Web单点登录的开关。
Web认证服务器:设置Web服务器的IP地址。
类型:可以选择Cookie值、POST提交的表单、URL请求中的参数,三种方式适用于不同的web认证服务器。
-
Cookie值:用户认证成功后,web服务器返回一个cookie值可以通过这个cookie值判断是否成功登录。
-
Cookie名:填写认证成功后,服务器返回的Cookie名。
-
POST提交的表单:web认证时通过POST方式提交用户名时,需要使用这种类型。
用户表单名称:填写Web认证时,向服务器提交用户名表单名称,支持正则表达式。
支持启用/禁用认证关键字;禁用则表示认证时无需校验关键字。
认证成功关键字:用来识别Web登录是否成功的关键字。返回结果中,如果包含了设定的关键字,则判断为Web单点登录成功。
认证失败关键字:回结果中,如果包含设定的关键字,则判断为Web单点登录失败。
URL请求中的参数:当web认证是通过http get请求提交认证信息时引用。
URL参数名:填写URL请求中认证字段对应的参数名。
指定表单编码类型:如果出现乱码,则可尝试指定编码类型,否则无需设定,设备会自动识别选用的编码类型。
场景案例
Web单点登录一般适用于客户有自己的web服务器,且账号信息均保存在web服务器上,客户想要实现内网用户上网前通过自己Web服务器的认证同时也通过AC设备的认证。Web服务器在内外网都支持。
全网行为管理支持从POST值、Cookie值和URL参数中提取登录Web服务器的用户名,具体选择哪种方式取决于用户登录Web服务器时提交用户名所用的方式。
当用户使用POST提交用户名登录Web服务器时,Web服务器会依据登录成功或者失败的结果返回对应的值,所以可以根据Web服务器的返回值(关键字)来确定用户是否登录成功,从而决定该用户是否在AC上线。
通过Cookie和URL这两种方式提交用户名时,Web服务器不会有回应,所以无法判断是否登录成功,只能实现抓取到用户名就立即上线。
本次示例均为POST的方式提交用户名。
场景一:Web服务器在AC设备的LAN口区域,且用户访问Web服务器的流量不会经过AC设备。
操作步骤
-
在[接入管理/接入认证/portal认证/单点登录]界面启用Web单点登录。
在[Web认证服务器]栏填写Web服务器的域名或者IP地址。
类型:选择“POST提交的表单”。
用户表单名称:是用户登录Web服务器时提交的用户名所对应的表单。
启用认证关键字:是为了判断该用户提交用户名和密码后是否成功登录了Web服务器,从而决定该用户是否在AC上线。
表单名和认证关键字均需要依据实际情况填写,如果不清楚可通过抓包获取该信息。
2.确认表单名和认证关键字。使用抓包工具抓取用户登录Web服务器的交互过程从而确认表单名和关键。如下图所示:
通过抓包工具抓取用户登录Web服务器的数据包,在POST表单里可以看到提交用户名的表单名为:pwuser
通过比对登录失败和登录成功的数据包,能够发现登录成功的POST返回值里面携带了Location,获取认证失败关键词同理。
登录成功返回值
登录失败返回值
3.在[单点登录/其他选项]界面勾选[启用镜像网口]并选择对应的镜像网口名,然后点击<提交>保存配置。在本场景下用户登录的Web服务器在内网且流量不会经过AC,所以需要通过镜像流量来监听用户登录Web服务器的数据包从而回去用户名等信息。
4.在[接入管理/接入认证/portal认证]界面为需要进行单点登录的用户配置认证策略。[认证方式]选取单点登录,在[认证范围]根据需求配置进行单点登录的认证范围。
5.用户成功登录Web服务器,同时在 AC上线获取对应的外网访问权限。
场景二:Web服务器在AC设备的WAN口区域,当用户访问Web服务器的流量经过AC设备。
-
配置用户认证前网络访问权限。因为Web服务器在AC的WAN口区域,所以用户在完成认证上线前需要能够访问Web服务器,否则无法完成认证。
-
通过配置[认证前使用此组权限]的功能可以使用户在未认证前能够访问有限的网络资源。目前只有密码认证(包括单点登录失败后匹配密码认证)的认证策略支持设置“认证前使用此组权限”的功能。
-
在[接入管理/本地组用户]点击<新增>添加一个用户组,以该组的身份配置用户认证前的需要访问的网络权限。当用户认证失败就会匹配此用户组的访问访问权限。
4.自定义URL或者自定义应用。在某些场景下需要开放企业内部私有的应用或者URL,此时则需要在AC上自定义企业内部的一些应用或者URL。此处以自定义应用为例:在[系统管理/对象定义/自定义应用]界面点击<新增>按钮,配置应用相关参数。
5.在[行为管理/访问权限策略]界面点击<新增>按钮,添加[访问权限策略]用于配置认证前的网络访问权限。
6.勾选[应用控制],并在应用控制栏内先添加一条拒绝所以的策略,然后再添加一条放通策略。该放通策略用于放通认证前需要访问的应用,比如步骤2自定义的内网应用。
在[适用对象]页面勾选认证前的组对象,最后点击<提交>即可。
7.配置认证策略。在[接入管理/接入认证/Portal认证]界面点击<新增>按钮配置密码认证策略,并根据实际需求配置认证策略适用范围。如“10.68.10.3/24”。
8.在[认证方式]栏选择密码认证。(如果认证方式为“单点登录”但配置了失败后匹配密码认证,也支持设置“认证前使用此组权限”的功能)
、
9.启用[认证前适用此组权限]。在认证后处理栏点击<高级选项>,然后勾选[认证前适用此组权限]并配置好相应的组名。配置如下图所示。
10.在[接入管理/接入认证/portal认证/单点登录]界面启用Web单点登录。
-
Web认证服务器:填写Web服务器的域名或者IP地址;
-
类型:选择“POST提交的表单”。
-
用户表单名称:是用户登录Web服务器时提交的用户名所对应的表单。
-
启用认证关键字:是为了判断该用户提交用户名和密码后是否成功登录了Web服务器,从而决定该用户是否在AC上线。
-
表单名和认证关键字均需要依据实际情况填写,也可通过抓包获取该信息。
11.确认表单名和认证关键字。使用抓包工具抓取用户登录Web服务器的交互过程从而确认表单名和关键。
通过抓包工具抓取用户登录Web服务器的数据包,在POST表单里可以看到提交用户名的表单名为:pwuser。
通过比对登录失败和登录成功的数据包,能够发现登录成功的POST返回值里携带了Location,获取认证失败关键词同理。登录成功返回值和登录失败返回值请参靠案例一的图。
12.在[接入管理/接入认证/portal认证]界面为需要进行单点登录的用户配置认证策略。[认证方式]选取单点登录,在[认证范围]根据需求配置进行单点登录的认证范围。
说明:需要配置“单点登录的用户失败后匹配密码认证”,否则[认证前使用此组权限]的功能不会生效,导致无法访问Web服务器。
13.用户成功登录Web服务器,同时在 AC上线获取对应的外网访问权限。
说明:截止到本文发布为止, Web单点登录暂时不支持https的Web应用登录。