Addressing Wi-Fi captive portal roaming

Wi-Fi captive portal is used to intercept new user web connection request and redirect then to a captive portal for authentication, before granting them full Internet access.

One of the most common problem with captive portal is Wi-Fi roaming, eg. users can get kicked out and have to re-authenticate to captive portal when connecting to different APs. For example, they initially connect to one AP, login to portal, get authorized, but when they associate to another AP in the same network, they're prompted to login with portal again. Just google with keyword like "captive portal roaming problem", you will find many of such problems. 

There're two common scenarios where you need captive portal roaming:

Captive portal is typically provided in two methods and each has its own way to address roaming: