banalmente serve un captive portale, di fatto ti serve un server che faccia questo.

ce ne sono molte di soluzioni, sia gratuite/open source che a pagamento.

molto dipende dal budget e da quello che volete fare

http://it.wikipedia.org/wiki/Captive_portal

http://www.zeroshell.net/captiveportaldetails/