我想构建一个节点js internet gateway / captive portal。所以我可以让用户'授权'他的mac地址或ip地址,如果mac地址不可能像用于wifi热点那样
所以我想到的是节点可以有一个dhcp服务器,它将其IP地址作为网关。因此,如果用户在Web浏览器上加载页面,它会为他们提供一个身份验证屏幕,然后他们就可以登录,然后网关可以正确地路由其数据包。
如何使用node.js执行授权步骤,因此如果他们未登录,则会显示登录页面&如果他们要正确路由数据包?
答案 0 :(得分:3)
你需要几件才能将它们放在一起。
#1:http代理 - 如果您可以运行DHCP服务器并分配IP地址,则可以运行http-proxy来捕获所有互联网流量。
#2:然后您需要向此代理添加身份验证逻辑,该代理可以检查cookie,魔术数据包,令牌或其他验证访问权限并允许它们通过或重定向到登录页面的内容。
node-http-proxy是一个非常受欢迎且灵活的节点http代理服务器,您可以轻松地add your own logic到。
node-http-auth-proxy是另一个如何处理内置身份验证的example项目。
拥有代理还允许您将网站/ IP列入白名单/黑名单,这可能是您希望根据目标受众进行的。