什么是Portal认证?
Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。用户上网时,必须在门户网站进行认证,只有认证通过后才可以使用网络资源。用户未认证上网时,将被强制访问Portal认证网站,从而开始Portal认证过程。
什么是Portal认证
Portal认证(也称为Web认证)是一种网络访问控制技术。一般将Portal认证网站称为门户网站,用户上网时,需要通过门户网站完成身份验证后,才能获得更多的网络访问权限。用户未认证上网时,将被强制访问Portal认证网站,从而开始Portal认证过程。
Portal认证系统的典型组网方式由四个基本要素组成:客户端、接入设备、Portal服务器和认证服务器。
图1-1 Portal认证系统
客户端:安装有运行HTTP/HTTPS协议的浏览器的主机。
接入设备:交换机、路由器等接入设备的统称,主要有三方面的作用:
在认证之前,将认证网段内用户的所有HTTPS请求都重定向到Portal服务器。
在认证过程中,与Portal服务器、RADIUS服务器交互,完成对用户身份认证、授权与计费的功能。
在认证通过后,允许用户访问被管理员授权的互联网资源。
Portal服务器:接收客户端认证请求的服务器系统,提供免费门户服务和认证界面,与接入设备交互客户端的认证信息。
认证服务器:与接入设备进行交互,对用户进行认证/授权/计费,通常为RADIUS服务器。
为什么需要Portal认证?
在传统的组网环境中,用户只要能接入局域网设备,就可以访问网络中的设备或资源,为加强网络资源的安全控制和运营管理,很多情况下需要对用户的访问进行控制。例如,在一些公共场合、小区或公司的网络接入点,提供接入服务的供应商希望只允许付费的合法用户接入,所以供应商为每个用户提供一个接入网络的账号和密码。另外,一些企业会提供一些内部关键资源给外部用户访问,并且希望经过有效认证的用户才可以访问这些资源。
现有的802.1X和PPPoE等访问控制方式,都需要客户端的配合,并且只能在接入层对用户的访问进行控制。
Portal认证技术则提供一种灵活的访问控制方式,不需要安装客户端,就可以在接入层以及需要保护的关键数据入口处实施访问控制。
Portal认证支持哪些Portal协议?
Portal协议包括Portal接入协议和Portal认证协议。
Portal接入协议:HTTP/HTTPS协议,描述了客户端和Portal服务器之间的协议交互。客户端通过HTTP/HTTPS协议依次向Portal服务器发起连接请求和Portal认证请求。
Portal认证协议:描述了Portal服务器和接入设备之间的协议交互,支持如下两种认证协议。
Portal 2.0是Portal认证机制支持的协议,专门兼容中国移动的Portal 2.0协议。通过Portal服务器与接入设备之间的交互,实现用户认证的基本功能,方便传输用户名、密码等参数。Portal 2.0适用于设备到服务器之间无需穿越NAT的场景。
HACA(Huawei Agile Cloud Authentication,华为敏捷云认证)协议是基于移动互联网HTTP 2.0的协议,集认证与授权一体。适用于设备到服务器之间需要穿越NAT的场景。
Portal协议:Portal服务器收到客户端的Portal认证请求后,Portal服务器通过Portal协议向接入设备发起Portal认证请求(携带用户名和密码),Portal协议支持Portal2.0和HACA协议。
HTTP/HTTPS协议:Portal服务器收到客户端的Portal认证请求后,通过HTTP/HTTPS协议通知客户端向接入设备发起Portal认证请求,然后客户端通过HTTP/HTTPS协议向接入设备发起Portal认证请求(携带用户名和密码)。
Portal认证是如何工作的?
在Portal认证系统中,iMaster NCE-Campus支持作为RADIUS服务器和Portal服务器,也支持Portal中继服务器,为用户提供认证授权功能。
iMaster NCE-Campus作为RADIUS服务器和Portal服务器,直接与设备交互RADIUS报文,并为客户端提供Portal认证页面,不同的Portal认证协议方式认证流程不同。

iMaster NCE-Campus作为RADIUS中继服务器和Portal服务器,在设备和第三方RADIUS服务器之间转发认证和授权报文。当网络中存在大量接入设备时,例如大量的云AP,如果第三方RADIUS服务器直接和设备交互,则第三方RADIUS服务器需要对接所有的云AP,配置繁琐,这种场景建议使用iMaster NCE-Campus作为RADIUS中继服务器,第三方RADIUS服务器仅需要对接iMaster NCE-Campus,iMaster NCE-Campus支持将认证配置批量下发给云AP,可以大大提高配置效率。

iMaster NCE-Campus作为Portal中继服务器,也称为云平台中继认证,当用户已自行搭建第三方Portal服务器时,可以使用云平台中继认证。
API方式:iMaster NCE-Campus将用户重定向到第三方的Portal服务器,第三方Portal服务器完成用户身份校验之后,调用iMaster NCE-Campus的授权API接口,通过HACA协议对用户进行授权。

RADIUS中继方式:iMaster NCE-Campus将用户重定向到第三方的Portal服务器进行Portal认证,第三方Portal服务器再将用户的认证信息提交到iMaster NCE-Campus,然后iMaster NCE-Campus作为RADIUS客户端将认证信息发送给第三方的RADIUS服务器进行身份校验和授权。

第三方服务器作为RADIUS服务器和Portal服务器,第三方服务器直接与设备交互RADIUS报文。
Portal认证工作流程(iMaster NCE-Campus作为Portal服务器和RADIUS服务器)
Portal认证协议为Portal2.0协议
上线流程(Portal2.0)图1-2 Portal认证上线流程(Portal2.0)

用户在Portal认证页面输入用户名和密码后,客户端向Portal服务器发起Portal认证请求。
Portal服务器将用户输入的用户名和密码封装在Portal 2.0协议认证请求报文(REQ_AUTH)中,并发送给接入设备。(该步骤不支持穿越NAT)。
接入设备根据获取到的用户名和密码,向RADIUS服务器发送RADIUS认证请求(ACCESS-REQUEST)。
RADIUS服务器对用户名和密码进行认证。如果认证成功,则RADIUS服务器向接入设备发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则RADIUS服务器返回认证拒绝报文(ACCESS-REJECT)。
下线流程(Portal2.0,用户主动注销)图1-3 Portal认证下线流程(Portal2.0,用户主动注销)

客户端发起注销认证请求。
Portal服务器向接入设备发送下线通知报文(REQ_LOGOUT)。
接入设备向RADIUS服务器发送计费停止报文(ACCOUNTING-REQUEST),并将用户从在线列表中删除。并向Portal服务器发送用户下线响应报文(ACK_LOGOUT)。
RADIUS服务器返回计费结束响应报文(ACCOUNTING-RESPONSE),并将用户从在线列表中删除。
Portal服务器将用户从在线列表删除,用户下线。
下线流程(Portal2.0,管理员强制下线)
当iMaster NCE-Campus作为RADIUS服务器和Portal服务器时,管理员在iMaster NCE-Campus界面强制用户下线时,iMaster NCE-Campus会同时发下线通知给RADIUS服务器和Portal服务器,然后RADIUS服务器和Portal服务器分别给接入设备发送下线通知。根据设备接收到下线报文的先后不同,处理流程不同:
情况1:设备先收到RADIUS服务器发来的下线通知图1-4 Portal认证下线流程(Portal2.0,设备先收到RADIUS服务器发来的下线通知)
情况2:设备先收到Portal服务器发来的下线通知图1-5 Portal认证下线流程(Portal2.0,设备先收到Portal服务器发来的下线通知)
如果先接收到RADIUS服务器的下线报文,接入设备向RADIUS服务器发送下线响应报文(DM ACK/NAK)和停止计费请求报文(ACCOUNTING-REQUEST),同时向Portal服务器发送用户在设备上主动下线通知报文(NTF_LOGOUT),并将用户从在线列表中删除。
如果先接收到Portal服务器的下线报文,接入设备向Portal服务器发送下线响应报文(ACK_LOGOUT),同时向RADIUS服务器发送停止计费请求报文(ACCOUNTING-REQUEST),并将用户从在线列表中删除。
管理员在iMaster NCE-Campus界面强制终端用户下线。
NCE同时通知RADIUS服务器和Portal服务器用户下线。
RADIUS服务器和Portal服务器同时向接入设备发送下线通知报文,RADIUS服务器发送(DM Request),Portal服务器发送(REQ_LOGOUT)。
接入设备根据接收到报文的先后进行处理。
RADIUS服务器向接入设备发送停止计费响应报文(ACCOUNTING-RESPONSE),同时将用户从在线列表中删除。如果是情况1,Portal服务器会向接入设备发送下线响应报文(ACK_NTF_LOGOUT);如果是情况2,Portal服务器会向接入设备下发响应确认报文(AFF_ACK_LOGOUT),同时将用户从在线列表中删除。
Portal认证协议为HACA协议
上线流程(HACA)图1-6 Portal认证上线流程(HACA)

客户端访问网络发起HTTPS请求。
HTTPS报文经过接入设备时,对于访问Portal服务器或设定的免认证网络资源的HTTPS报文,接入设备允许其通过;对于访问其它地址的HTTPS报文,接入设备将其URL地址重定向到Portal认证页面。
用户在Portal认证页面输入用户名和密码,向HACA服务器发起认证请求。
HACA服务器校验用户名密码,校验通过后,通过HTTPS/2 通道给设备下发终端用户的授权。
接入设备接收到授权请求后,对接入终端进行授权并通过HTTPS/2通道将授权结果给HACA服务器,HACA服务器根据设备返回的授权结果,返回给客户端。
HACA服务器向客户端发送认证结果报文,通知客户端认证成功,并将用户加入自身在线用户列表。
下线流程(HACA,用户主动注销)图1-7 Portal认证下线流程(HACA,用户主动注销)

客户端发起注销认证请求。
Portal服务器向接入设备发送下线通知报文(REQ_LOGOUT)。
接入设备将用户从在线列表中删除,并向Portal服务器发送用户下线响应报文(ACK_LOGOUT)。
Portal服务器将用户从在线列表删除,用户下线。
下线流程(HACA,管理员强制注销)
当iMaster NCE-Campus作为HACA服务器时,管理员在iMaster NCE-Campus界面强制用户下线时,iMaster NCE-Campus会同时发下线通知给HACA服务器。
图1-8 Portal认证下线流程(HACA,管理员强制注销)

管理员在iMaster NCE-Campus强制终端用户下线。
iMaster NCE-Campus同时通知HACA服务器用户下线。
HACA服务器向接入设备发送下线通知报文(REQ_LOGOUT)。
接入设备接收到HACA服务器的下线报文,接入设备向HACA服务器发送下线响应报文(ACK_LOGOUT)并将用户从在线列表中删除。
Portal认证协议为HTTP/HTTPS协议
上线流程(HTTP/HTTPS协议)图1-9 Portal认证上线流程(HTTP/HTTPS协议)

用户在Portal认证页面输入用户名和密码后,客户端向Portal服务器发起Portal认证请求。
Portal服务器通知客户端向接入设备发起Portal认证请求。
客户端向接入设备发起Portal认证请求(HTTP POST/GET)。
接入设备根据获取到的用户名和密码,向RADIUS服务器发送RADIUS认证请求(ACCESS-REQUEST)。
RADIUS服务器对用户名和密码进行认证。如果认证成功,则RADIUS服务器向接入设备发送认证接受报文(ACCESS-ACCEPT);如果认证失败,则RADIUS服务器返回认证拒绝报文(ACCESS-REJECT)。
下线流程(HTTP/HTTPS协议,用户主动注销)图1-10 Portal认证下线流程(HTTP/HTTPS协议)

用户单击注销,客户端向Portal服务器发起注销请求。
Portal服务器通知客户端向接入设备发起注销请求。
客户端向接入设备发起用户注销请求。
接入设备根据用户注销请求信息向Radius服务器发起停止计费请求,同时向客户端反馈注销响应。
RADIUS服务器返回计费停止响应,并停止计费。
Portal认证工作流程(iMaster NCE-Campus作为Portal服务器和RADIUS中继服务器)
用户使用第三方RADIUS服务器,iMaster NCE-Campus将用户的RADIUS报文中继到第三方的RADIUS服务器进行认证授权和计费处理。
图1-11 iMaster NCE-Campus作为Portal服务器和RADIUS中继服务器的Portal认证流程
客户端发起认证请求连接。
接入设备将其URL地址重定向到iMaster NCE-Campus的Portal认证页面。
用户在Portal认证页面输入用户名和密码,向iMaster NCE-Campus发起认证请求。
第三方RADIUS服务器对用户名和密码进行认证。
用户名密码认证通过,第三方RADIUS服务器通知iMaster NCE-Campus进行授权。
iMaster NCE-Campus向接入设备发送认证结果,并通知接入设备进行授权信息下发。
接入设备向Portal服务器返回授权结果。
RADIUS服务器向iMaster NCE-Campus查询授权结果。
RADIUS服务器获知授权认证成功,并将用户加入自身在线用户列表。
iMaster NCE-Campus向客户端发送认证结果,通知客户端认证成功,并将用户加入自身在线用户列表。
用户认证成功并进行网络资源访问。
Portal认证工作流程(iMaster NCE-Campus作Portal中继服务器)
iMaster NCE-Campus作Portal中继服务器分为两种对接方式,分别是API方式和RADIUS中继方式。
云平台中继认证(API方式)
用户自行搭建第三方Portal服务器,iMaster NCE-Campus将用户重定向到第三方的Portal服务器,第三方Portal服务器完成用户身份校验之后,调用iMaster NCE-Campus的认证授权API,通过HACA协议对用户进行授权。
图1-12 API方式认证流程
客户端发起认证请求后,接入设备将其访问的URL地址重定向到iMaster NCE-Campus。
iMaster NCE-Campus将URL地址重定向到第三方Portal服务器。
第三方Portal服务器推送Portal认证页面。
用户输入用户名和密码登录。
第三方Portal服务器校验用户名和密码后,调用iMaster NCE-Campus的授权API给用户授权。
iMaster NCE-Campus记录和保存用户名,MAC地址和IP地址信息,通过HACA通道给接入设备下发授权。
接入设备向iMaster NCE-Campus返回授权结果。
第三方Portal服务器调用iMaster NCE-Campus的查询API查询授权结果。
第三方Portal服务器通过Portal认证界面将认证结果通知给用户。
用户认证成功并进行网络资源访问。
云平台中继认证(RADIUS中继方式)
用户使用三方Portal服务器和三方RADIUS服务器,iMaster NCE-Campus将用户重定向到第三方的Portal服务器进行Portal认证,第三方Portal服务器再将用户的认证信息提交到iMaster NCE-Campus,然后iMaster NCE-Campus作为RADIUS中继将认证信息发送给第三方的RADIUS服务器进行身份校验和授权。
图1-13 RADIUS中继方式认证流程

客户端发起认证请求后,接入设备将其访问的URL地址重定向到iMaster NCE-Campus。
iMaster NCE-Campus将URL地址重定向到第三方Portal服务器。
第三方Portal服务器推送Portal认证页面。
用户输入用户名和密码登录。
第三方Portal服务器将用户认证信息发送给iMaster NCE-Campus,iMaster NCE-Campus作为RADIUS中继将认证信息发送给第三方的RADIUS服务器进行身份校验和授权。
认证授权通过后,iMaster NCE-Campus给接入设备下发授权参数。
iMaster NCE-Campus将Portal认证页面重定向到认证成功页面。
用户认证成功并进行网络资源访问。
Portal认证的应用场景
Portal认证主要应用于需要灵活控制网络访问权限且用户流动性较大的场景,其典型应用场景包括:
公共场所无线网络:在酒店、商场、餐厅等场所的免费Wi-Fi,临时访客通过Web页面输入短信验证码或临时凭证即可获得网络访问权限,实现用户身份核验和广告推送。
企业园区网络:Portal认证用于控制员工及访客对内部资源的访问,通过用户名密码认证、MAC地址绑定(MAC优先)或短信认证等方式,确保只有授权用户可访问企业内网资源。
教育机构网络:学校可通过Portal认证区分学生、教师及访客身份,结合角色管理分配不同访问权限。
物联网设备接入网络:物联网设备(如共享单车/充电宝),通过Portal认证关联用户与设备,并实现支付跳转,用户完成支付后开放网络权限。