Passei por essa mesma duvida.. depois de tentar
varias solucoes de captive portal, hotspot, e por ai afora
resolvi testar o pfsense.
fizemos alterações para que autenticasse da forma que
precisavamos e esta ativo ja a mais de um ano sem problemas.
Uma solucao que pode servir como base de teste pra voce é este
tutorial muito bem explicado até, que talvez ja resolva o seu
problema:
http://www.pfsense-br.org/blog/2012/04/pfsense-captive-portal-voucher/
Abraço