为什么80%的码农都做不了架构师?>>>   

解答一:

它叫做 Captive portal,请自行wiki

算了,还是简单说一下吧
实现方法不止一种

方案一
DNS跳转,把客户端所有的dns请求都解析为认证服务器的ip,然后认证服务器上有404跳转
或者用dns url跳转,直接把dns解析为认证页面的地址

方案二
http跳转,对所有的http请求返回302或者301跳转,目标是认证页面。在网关上就可以实现

方案三
ip跳转,既把所有的ip包里的目标地址改为认证服务器,然后在认证服务器上做404跳转(因为用户有可能访问http://example.com/notexist这样在认证服务器上不存在的地址,所以需要404跳转),目标同样是认证页面,在网关上也可以实现
(参考自 知乎)

解答二:

有个东西叫做bas(broadband access sever)做控制,ac一般透传vlan到bas,由bas控制用户。用户需要在bas通过aaa,否则是不能上网的,即使你有貌似合法的ip。

WLAN用户接入流程
流程描述:
1)        用户通过标准的DHCP协议,通过AC获取到规划的IP地址。
2)        用户打开IE,访问某个网站,发起HTTP请求。
3)        AC截获用户的HTTP请求,由于用户没有认证过,就强制到Portal服务器。并在强制Portal URL中加入相关参数,具体请参见《中国移动WLAN业务PORTAL协议规范》。
4)        Portal服务器向WLAN用户终端推送WEB认证页面。
5)        用户在认证页面上填入帐号、密码等信息,提交到Portal服务器。
6)        Portal服务器接收到用户信息,向Radius发出用户信息查询请求。
7)        Radius验证用户密码、查询用户信息,并向Portal返回查询结果及系统配置的单次连接最大时长(SessionTimeout)、手机用户及卡用户的套餐剩余时长信息(AvailableTime)。
8)        如查询成功,Portal服务器按照CHAP流程向AC请求Challenge。如果查询失败,Portal直接返回提示信息给用户,流程至此结束。
9)        AC返回Challenge,包括Challenge ID和Challenge。
10)        Portal将密码和Challenge ID及Challenge做MD5算法后的Challenge-Password,和帐号一起提交到AC,发起认证。
11)        AC将Challenge ID、Challenge、Challenge-Password和帐号一起送到中央RADIUS用户认证服务器,由中央RADIUS用户认证服务器进行认证。
12)        中央RADIUS服务器根据用户信息判断用户是否合法(对于省内预付费卡用户,还需要判断用户接入地和归属地是否一致)。RADIUS对用户密码分别进行 静态密码和动态密码两次密码认证。如果其中一次成功,RADIUS向AC返回认证成功报文,并携带协议参数,以及用户的相关业务属性给用户授权。如果两次 都失败,RADIUS向AC返回认证失败报文。
13)        AC返回认证结果给Portal服务器。(以及相关业务属性。)
14)        Portal服务器根据认证结果,推送认证结果页面。如果成功,根据编码规则判断帐户的归属地,推送归属地定制的个性化页面,并将认证结果、系统配置的单 次连接最大时长、套餐剩余时长、自服务选项填入页面,和门户网站一起推送给客户,同时启动正计时提醒。如果失败,页面提示用户失败原因。
15)        Portal服务器回应AC收到认证结果报文。如果认证失败,则流程到此结束。
16)        认证如果成功,AC发起计费开始请求给中央RADIUS用户认证服务器。
17)        中央RADIUS回应计费开始响应报文,并将响应信息返回给AC。用户上线完毕,开始上网。
18)        在用户上网过程中,为了保护用户计费信息,每隔一段时间AC就向中央RADIUS用户认证服务器报一个实时计费信息,包括当前用户上网总时长,以及用户总流量信息。
19)        中央RADIUS计费服务器回应实时计费确认报文给AC。
20)        当AC收到下线请求时,向RADIUS用户认证服务器发计费结束报文。
21)        中央RADIUS计费服务器回应AC的计费结束报文。

( 参考文章)

解答三:
wifidog

一. 用户上线

1. 用户访问网络,通过iptables将未认证的用户dnat到wifidog进程,wifidog通过307报文将用户重定向到认证服务器

2. 用户打开认证服务器登录页面,输入用户名密码,发送认证请求

3. 认证成功的话服务器会发送302报文,携带token信息重定向到wifidog页面。认证失败的话会返回失败页面

4. 用户携带token信息向wifidog发起认证请求,wifidog再向认证服务器发起请求,认证成功后授权,并将用户重定向到成功页面

二. 保活和下线

1. wifidog会定时向认证服务器发送保活消息

2. 当用户主动请求下线后,wifidog此时并没有下线

3. 当wifidog再次发起保活请求时,认证服务器会告诉它用户已下线,此时wifidog会将用户下线

参考 a, b

转载于:https://my.oschina.net/sukai/blog/318527

wlan网页登录认证原理相关推荐

  1. html设置网页登录认证,四、登录验证:使用自定义界面登录

    2.自定义登录界面(thymeleaf) 1.html文件,放在resources/templates下为后面权限校验做准备,权限校验看五.的security配置类 1) login.html Doc ...

  2. 多宽带联网(三) OpenWrt中使用cURL方法编写Shell脚本自动完成网页宽带认证登录(校园网认证登录解决方案) 使用awk命令

    对于非PPPoE方式认证,而是采用网页认证登录的宽带用户(如校园网).采用<多宽带联网(二)>中的方法一个一个接口进行认证登录过于繁琐.本节将采用Shell脚本和cURL方法,模拟人工认证 ...

  3. OAuth认证原理与第三方登录

    1.背景 以下例子引用知乎"OAuth 授权的工作原理是怎样的?足够安全吗?"中李天放的回答 假如你在某个网站A上使用微博进行第三方登录,那么你可以想象新浪微博就是你的家.偶尔你会 ...

  4. jwt认证机制优势和原理_微服务统一登录认证怎么做?JWT?

    无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session. 例如登录:用户登 ...

  5. 网页二维码,App 扫码登录实现原理

    需求介绍 首先,介绍下什么是扫码登录.现在,大部分同学手机上都装有qq和淘宝,天猫等这一类的软件.而开发这些app的企业,都有他们相对应的网站.为了让用户在使用他们的网站时,登录更加方便和安全.这些企 ...

  6. 架构:网页二维码,App 扫码登录实现原理

    需求介绍 首先,介绍下什么是扫码登录.现在,大部分同学手机上都装有qq和淘宝,天猫等这一类的软件.而开发这些app的企业,都有他们相对应的网站.为了让用户在使用他们的网站时,登录更加方便和安全.这些企 ...

  7. H5页面使用微信网页授权实现登录认证

    在用H5开发微信公众号页面应用时,往往需要获取微信的用户信息,H5页面在微信属于访问第三方网页,因此通过微信网页授权机制,来获取用户基本信息,此处需要用户确认授权才能获取,用户确认授权后,我们可以认为 ...

  8. java+登录window域认证网页_Java 如何用 token 做用户登录认证

    1.什么是 token??? Token 是服务端生成的一串字符串,以作客户端进行请求的一个令牌. 2.token 做用户登录认证 ● 流程 3. Java 实现 ● 用户登录生成 token,保存到 ...

  9. 一次简单的计网实践——浅谈校园网认证原理、ipv6机制绕过认证限制、双路由器宿舍组网

    注:本文所涉及的"任何设备",指在学生正常活动的区域内使用的设备. 一.山东大学威海校区校园网ipv4认证原理 1.认证系统介绍 山大威海校区内的校园网认证页面地址均为http:/ ...

最新文章

  1. android调试步骤,Android16_Android调试步骤
  2. [导入]决定进入J2EE一探究竟
  3. 得到INSERT和UPDATE中使用的值
  4. react列表元素hover
  5. React之总结Ref
  6. 以前的报表都白做了!app上做可视化数据分析,这个方法太强了
  7. python unpack_python中struct.pack()函数和struct.unpack()函数
  8. java调用webservice_Oracle触发器调用webservice说明
  9. python3 的optparse库_了解python的optparse
  10. 将我人生的第一篇博客献给伟大的软件工程这门课程
  11. TCP的三次握手和四次挥手理解及面试题
  12. Python2.7.3 Tkinter Entry(文本框) 说明
  13. 一:Java语言概述
  14. LaTeX使用--基本语法
  15. 大数据在智慧城市建设中的作用与深度应用
  16. react 输入框 回车事件切换
  17. Python操作Excel(二)
  18. charlesfiddler安卓手机安装系统级ca证书抓取https请求信息
  19. 百度小程序API提交
  20. IC学习笔记——DRV8804

热门文章

  1. 安全刻不容缓「GitHub 热点速览 v.21.50」
  2. [Err] 23000 - [SQL Server]不能在具有唯一索引 'IX_student_info_2' 的对象 'dbo.student_info' 中插入重复键的行
  3. ARP 应用——检测IP地址冲突
  4. 在Firefox中以电影院风格观看YouTube视频
  5. codeforces 1598 A
  6. oracle系统报表开发工具,掌握七款实用报表开发工具,定制属于自己的报表
  7. 腾讯地图经纬度选择和图层功能
  8. image generation from scene graphs 论文+code复现总结
  9. R语言实战笔记 基本统计分析-频数列联表和简单的独立性检验
  10. 北京化工大学寒假集训【BUCTOJ】(1)1-6题