Plenty of ways to set up a Captive Portal. DD-WRT allows you to flash certain wireless routers, for you to setup a Captive Portal. There are other routers also that allow you to set up a time schedule. I have a Engenius ECB350, and can set up a schedule, that Wireless is only available during that time frame. The problem ends up that I have devices that require 24/7 wireless access, so it comes down to deciding in a situation like what I have, do you have devices that will also require access to that wireless Access Point, even though you do not want users access to it.
pfSense can be set up also for Captive Portal. It uses a Proxy to allow it to work. You would just need to have again multiple access points, so that those devices that require 24/7 access can have it, while those users that you do not want on the network, cannot get on during a set time frame.
Here is some information about Untangle, which is a really good software. http://wiki.untangle.com/index.php/Captive_Portal Some good reading about the pluses and minuses of Captive Portal. http://zeroshell.org/hotspot-router/ Cradle Point router info. http://www.cradlepoint.com/sites/default/files/productdocs/Captive_Portal_Functional_Overview_4.16.12.pdf m0n0wall info http://doc.m0n0.ch/handbook/captiveportal.html