me gustaría requiere que el usuario utilice un de usuario/contraseña al acceder a algunas partes de mi aplicación GAE (Google App Engine). Quiero limitar el acceso al conjunto de usuarios predefinidos, p. en la página, donde se pueden cargar nuevos datos en el almacén de datos.autenticación en Google App Engine (página web)
He encontrado que hay 3 formas en GAE cómo esto se puede solucionar, pero parece sólo el último (el más complicado) podría ser una solución para mi problema:
Utilice un descriptor de despliegue (
<security-constraint>
en web.xml). Esto no es agradable, ya que esos usuarios tienen acceso, incluso como espectadores de la página de administración de la aplicación GAE, donde pueden ver el historial de facturación, explorar el Almacén de datos, registros, etc., y esto es algo que debo evitar.Utilice el inicio de sesión federado (Abra ID) (https://developers.google.com/appengine/articles/openid) y permita a los usuarios utilizar su Google, Yahoo! u otras identidades para iniciar sesión. No es una solución, ya que quiero limitar el acceso a un pequeño grupo de usuarios (máximo 5) y no permitir que todos utilicen la aplicación.
La otra opción es crear sencilla página de inicio de sesión encargo accesible sólo a través de HTTPS y dejar que el usuario envíe el nombre de usuario contraseña & en una petición POST (que puede ser liso ya que tenemos Conexión segura https) a una servlet, en el servlet genera un identificador de sesión con la validez especificada y lo hace parte de cada solicitud posterior. También necesita verificar cada vez que el usuario envía una solicitud GET o POST si el identificador de sesión existe y no caduca mientras tanto manualmente.
¿Alguna otra/mejor propuesta sobre cómo mantener cuentas de administrador? ¿Puede HttpSession
ayudar con la última variante?
Saludos cordiales, Sten
Estas confinando a dos asuntos completamente independientes aquí, autenticación y autorización. Puede combinar cualquiera de las dos primeras soluciones (autenticación) con su propia solución para verificar la autorización. La forma más fácil de hacerlo sería mantener una lista de usuarios permitidos en el almacén de datos y buscar usuarios cuando inicien sesión para verificar los permisos, como sugieren Peter y Adam a continuación. –