一个处理我需求的强制门户网站

时间:2009-01-10 00:46:13

标签: redirect dns portal

我正在为我的组织寻找俘虏门户网站。我看到很多那些允许用户一旦他们通过。)输入凭证或b。)付钱。我正在寻找的是有点不同。让我进入一些关于我的系统的基础知识,我使用活动目录和内部DNS运行基于Windows的网络。我有一个内部网,我们的员工每天使用它,它使用该人的Windows凭据在系统上对它们进行身份验证。

员工必须每天输入时间,如果他们不这样做,那么我希望有一个专属门户网站将他们重定向到他们的时间输入页面,而不是让他们进入广阔的互联网世界,直到他们的时间进入。

我是开发人员所以我可以编写一个向系统返回True或False的脚本,但我需要的是一个可以与AD登录交互的系统,一旦用户请求访问外部网络就可以运行此脚本

修改 我接受了一个答案作为我的问题的答案,然而,在查看基于套接字的方法的编码后,我没有时间。

作为一种解决方法,我发现我的防火墙有一个可自定义的免责声明页面,允许使用javascript。我将查询web服务以查看是否输入了时间然后触发免责声明页面的“允许”功能,否则我将重定向到时间输入页面。似乎是一个简单的解决方案,唯一的问题是如果这个人在一夜之间保持他们的浏览器会话开放。

4 个答案:

答案 0 :(得分:0)

现在我只用.NET编写代码,一些OSS可能有更好的想法。

我无法在不使用代理的情况下看到这样做,最好是网关上的透明代理服务器。必须有人写过这样的东西。当然,每个商用wifi热点都有一个,但你可能想要一个在服务器上运行而不是设备的。

我对此并不了解,但这是我过去曾想过的事情。

您可能能够找到具有该功能的路由器/防火墙盒。微软IAS我有一个插件,这样做(它不太便宜)。谷歌的简要介绍并没有像其他软件那样出现这种情况。

Wingate - 可能会这样做,我无法弄清楚

否则你可以编写一个透明的代理应用程序(这意味着,除非你编写嵌入代码,你需要使用app服务器作为默认网关),或者只是一个普通代理,如果你可以锁定用户浏览器代理设置。我想编码这可能不是一个简单的选择!但这是可能的。你甚至可以使用IIS和ASP.NET。

iisproxy是一个代理,实现为带有源代码的IIS ISAPI过滤器。我怀疑这是用C或C ++。

On Codeplex是一个代理代码sample。您可以更改它并扩展到完整代理。

您可以使用套接字完成所有操作并完全退出应用程序层。这可能会让生活更简单,所以我希望有这样的理由不能这样做!让基于套接字的代理重定向到不合规的用户到时间记录应用程序,当他们填写他们的时间表时,只是透明地传递套接字之间的所有数据。

我会对你或任何人提出的问题感兴趣,因为我一直希望AUP能够每天一次出现在我们办公室的用户手中。更好的是,如果代理收集了该信息,它可以列出用户昨天在脸书等上花费了多少时间。我认为足以改变人们的行为。事实上,有很多有用的东西  这可以通过易于更改或可扩展的HTTP代理来完成。

答案 1 :(得分:0)

Christopher Edwards或多或少是对的。 Captive portal基本上是一个防火墙,透明地将所有连接转发到本地Web服务器,要求进行用户身份验证。身份验证成功后,将为经过身份验证的用户的IP重新配置防火墙规则,以便他/她可以访问Internet或其他网络。

您可以通过脚本和Web服务器或代理设置自己的强制网络门户,但强制要求物理上所有网络流量都穿过充当防火墙的计算机。

我有一个名为m0n0wall的OSS发行版的经验,它基于BSD发行版,可以直接嵌入dedicated hardware或安装在任何PC上。这种分发虽然是OSS,但它非常专业,并且提供与任何商用FW设备(即Watchguard productsCisco Products)基本相同或更多的功能。它提供了一个Web管理界面,可以完全管理防火墙。

如果您决定采用这种方式,唯一的问题是m0n0wall强制网络门户只有两种身份验证方式:本地用户数据库列表或外部Radius服务器。在您的情况下,您需要设置一个集成在AD身份验证服务中的外部Radius服务器。这是example如何做到的。

答案 2 :(得分:0)

这是怎么回事。你需要:

  • iptable 通用防火墙,
  • 一个开放的路由器固件,如 dd-wrt ​​,它有更多支持热点的选项
  • 服务器,如 apache
  • dhcp3-server 作为DHCP服务器
  • bind9 作为DNS服务器,因此用户在连接到热点时无需手动配置其计算机网络配置
  • PHP 或其他语言,用于编写您选择的服务器端脚本。

您需要将不打算重定向到互联网的数据包标记到目标网页,但是当用户在目标网页上获得验证时,他/她的IP将从列表中删除,以便他可以自由浏览如果他试图浏览他的数据包将被标记,你会用什么来识别他。由于iptables的原因,我建议你使用linux。

这是它的工作原理:

  1. 连接到无线热点的每个用户都通过网关连接到互联网。
  2. 网关本身充当路由器和防火墙(也可能像本实验一样充当门户网站服务器)。
  3. 未经身份验证的用户发往互联网的每个HTTP数据包都会被防火墙“标记”为特殊代码,因此可以截获(重定向)到门户网站服务器。
  4. 门户网站服务器透明地向用户提供身份验证网页,并识别他们使用的计算机。
  5. 用户通过网络服务器接受/验证自己,因此他们的计算机身份(在这种情况下是他们的网络接口MAC地址)正被输入防火墙的白名单。
  6. 只要用户的网络接口位于防火墙的白名单中,就会将其发送的数据包标记为拦截。然后,路由器将数据包转发到互联网,而不会再被截获到门户网站。

答案 3 :(得分:0)

DNS Redirector是一个专属门户网站产品,您可以在其中以HTML / ASP /其他方式开发自己的欢迎/阻止页面。由于您的服务器已在运行Windows,为什么不使用IIS和ASP。