我想构建一个 Node js 互联网网关/强制门户。因此,如果 mac 地址不可能像用于 wifi 热点一样,我可以让用户“授权”他的 mac 地址或 ip 地址
所以我的想法是 Node 可以有一个 dhcp 服务器,它提供它的 ip 地址作为网关。因此,如果用户在 Web 浏览器上加载一个页面,它会为他们提供一个身份验证屏幕,然后他们可以登录,然后网关可以正确路由其数据包。
我如何使用 node.js 执行授权步骤,以便在他们未登录时显示登录页面以及他们是否要正确路由数据包?
最佳答案
你需要几 block 才能把它放在一起。
#1:http 代理 - 如果您可以运行 DHCP 服务器并分配 IP 地址,那么您可以运行 http-proxy 来捕获所有互联网流量。
#2:然后您需要向此代理添加身份验证逻辑,它可以检查 cookie、魔术数据包、 token 或验证访问权限并允许它们通过或重定向到登录页面的东西。
node-http-proxy是一个非常流行且灵活的 Node http 代理服务器,您可以轻松地 add your own logic到。
node-http-auth-proxy是另一个这样的项目 example如何处理内置身份验证。
拥有代理还可以让您将网站/IP 列入白名单/黑名单,这是您可能希望根据目标受众执行的操作。
关于node.js - 公共(public) WiFi 热点中使用的 Node JS 互联网网关/强制门户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15552119/