Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Impedir el cierre automático del portal en cautiverio después de la autenticación (Android)

Así que la idea simple es que tenemos una configuración de servidor RADIUS para permitir a los usuarios autenticarse con nuestro controlador Ruckus a través de las credenciales de usuario. En la autenticación, el usuario debe ser redirigido a una página que les permita administrar dispositivos autenticados MAC.

En todo lo que hemos probado hasta ahora, incluidos los "más antiguos" dispositivos Android, esto parece no ser ningún problema y las cosas funcionan como deberían. Sin embargo, con las versiones Lollipop (5.0+) de Android, el portal cautivo ha cambiado bastante, y parte de ese cambio es cerrar automáticamente el portal cautivo que se inicia al unirse a la red. Debido a que queremos que sean redirigidos a una página de administración de dispositivos MAC después de la autenticación para que puedan agregar el dispositivo con el que están conectados y evitar tener que iniciar sesión de nuevo, esto es malo.

Lo que he intentado:

  1. Detectar si el navegador se está iniciando en un dispositivo móvil y hacer estallar una alerta en onbeforeunload que intenta mantener el navegador abierto.

  2. Abrir una nueva ventana del explorador, apuntando a la URL de redirección, cuando se detecta una autenticación correcta (esencialmente gestionando el redireccionamiento).

  3. Realizando la Opción 2 y, a continuación, la Opción 1 en la URL redirigida

Lo que no funciona:

  • Pedir a los usuarios que desactiven la opción de portal cautivo en su dispositivo. No intentar apuntar usuarios generales a controles avanzados.

  • Crear una red abierta para acceder al administrador de MAC, debe estar detrás de alguna autenticación.

Solución por ahora:

Estamos descontentos con esta solución, pero por ahora estamos simplemente pidiendo a los usuarios autenticarse con la red y luego abrir su navegador e ir a la página de inicio de sesión básica (autenticación no de red) que los usuarios usan para agregar manualmente dispositivos que no pueden Conectar con (como impresoras, dispositivos de juego, etc.). Aunque esto funciona, es un dolor para los usuarios tener que iniciar sesión, abrir un navegador, introducir manualmente una url, e iniciar sesión de nuevo.

Esto no es un problema que la gente no ha encontrado, vea aquí , simplemente no he sido capaz de encontrar una solución de cualquiera que se ha encontrado con el problema. Ciertamente hay alguna manera de utilizar javascript o algo para mantener el navegador abierto en esta situación. Si no, ¿alguien tiene mejores ideas para manejar las cosas?

  • Vista web de Android: lee las cookies
  • La llamada de Webservice desde el dispositivo Android no funciona, funciona bien en el emulador
  • ¿Cómo capturar una vista web a bitmap en Android?
  • Rest Server o API para probar mi cliente Restful?
  • Google ya no permite el uso de WebView. ¿Cuáles son las alternativas?
  • WebView.draw () no funciona correctamente en la última versión de WebView de Android System
  • En la vista Web de Android, ¿puedo modificar el DOM de una página web?
  • ¿Puedo usar CloudKit en Android o en una aplicación basada en Web?
  • 3 Solutions collect form web for “Impedir el cierre automático del portal en cautiverio después de la autenticación (Android)”

    Hemos logrado mantener abierto el explorador UAM Browser / captive portal en Lollipop añadiendo reglas de firewall bloqueando:

    • Clients3.google.com
    • Clients1.google.com,
    • Android.clients.google.com
    • Connectivitycheck.android.com
    • Connectivitycheck.gstatic.com

    Así, después de autenticar al usuario, el UAM / Captive Browser permanece abierto.

    Puede mantener UAM abierto tanto tiempo como lo necesite, puede cerrarlo invocando una redirección indirecta invertida 204 a la página de conectividad de google.

    Esto parece ser un nuevo comportamiento de Portal Captive en dispositivos Android desde el lanzamiento de Lollipop (5.0).

    Todavía no hemos descubierto una solución. Si hay una forma explícita de desactivar la auto-despido es probablemente sólo documentado en la base de código Android disponible aquí (he estado buscando, pero no he encontrado nada definitivo aún):

    https://android.googlesource.com/platform/frameworks/base

    FYI, también hemos notado Android utiliza CloudFront CDN para su detección de la red cautiva. Nuestra solución de portal cautivo utilizó originalmente CloudFront para activos, por lo que tuvimos que incluir las subredes CloudFront en las ACL preautencias. Whitelisting CloudFront posteriormente causó la detección de la red cautiva a fallar en los últimos dispositivos Android. Tuvimos que abandonar CloudFront CDN para restaurar la funcionalidad de portal cautivo para dispositivos Android.

    ¿Por qué no acaba de mantener el portal cautivo abierto después de la autenticación? Siempre puede permitir el acceso a todos los sitios, excepto los sitios de chequeo cautivo.

    Probado y funcionando tanto en Android como en iOS en todas las versiones. Si necesitas acceder a las cookies / almacenamiento compartido desde el navegador predeterminado (no ios / navegador de sandbox), tienes que saltarlo antes de la autenticación.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.