¿Existe un beneficio adicional para la autenticación dentro de una parte de una aplicación, después de la autenticación en la aplicación principal?

1

Esencialmente tengo una aplicación que es de 2 partes.

  1. Una parte está en la máquina del usuario, que cargará los archivos en mi servidor, y

  2. la otra parte es una aplicación web que funciona con esos archivos.

Ambas aplicaciones implementan protocolos de seguridad para Autenticación / Autorización por su cuenta utilizando el mismo marco de seguridad, pero no estoy seguro de si realmente comparten datos de sesión (no estoy seguro de cómo lo averiguaría).

Mi pregunta es ... si agregué una parte de WebView a la aplicación principal, ¿sería inteligente hacer que inicien sesión nuevamente, ya que esa es la funcionalidad predeterminada al ir al sitio?

O, dado que ya iniciaron sesión en la aplicación principal, no tiene sentido hacer que "vuelvan a iniciar sesión"

Para agregar más información a la discusión, la aplicación principal es más bien un área de control de administración, donde creas a tus usuarios, para que otros usuarios puedan iniciar sesión con ellos en la web.

Si tuviera 1 inicio de sesión para ambos, ¿sería extraño iniciar sesión en el administrador (principal) y luego querer ver a un usuario podría iniciar sesión a través de la aplicación principal y forzar un inicio de sesión?

Pensé que publicaría ambos escenarios, en caso de que uno fuera diferente.

Supongo que una vez que estás dentro, no importa lo que pase. Las cuentas de usuario no se pueden editar desde la web, solo la aplicación principal, así que en realidad, una vez que haya iniciado sesión en la principal, no hay mucho que pueda hacer al iniciar sesión automáticamente en el elemento web.

También tengo curiosidad por implementar una recuperación de contraseña para los usuarios, si tendría sentido permitir cambios en las contraseñas en la aplicación (sin recordar la contraseña del usuario) o realizar un proceso de recuperación como si fueran los administradores. . Como dije anteriormente, una vez que haya iniciado sesión en el Administrador, todos los usuarios serán vulnerables a cualquier cosa.

Gracias por cualquier consejo!

    
pregunta XaolingBao 28.04.2016 - 23:07
fuente

3 respuestas

3

Le propondré una regla general que puede ayudarlo con su decisión:

  

Al cambiar de un nivel de privilegios más bajo a más alto, haga que vuelvan a iniciar sesión.
  Al pasar de mayor a menor, no requiere otro inicio de sesión.

Este es un ejemplo de cómo los cajeros automáticos bancarios implementan esta regla. Considere estos 2 escenarios:

  1. Usted introduce su tarjeta de cajero automático, ingresa su PIN, selecciona "Retiro", elige su monto, recibe su dinero, ve el saldo de una cuenta.
  2. Usted introduce su tarjeta de cajero automático, ingresa su pin, ve el saldo de una cuenta, selecciona "Retiro", elige su monto, ingresa su pin nuevamente y recibe su dinero.

La única diferencia entre estos escenarios es si el retiro se produce antes o después de la consulta de saldo. Si comienza su sesión con un retiro, se le asignan los permisos más altos y, por lo tanto, puede hacer un elemento del permiso del arrendador posteriormente. Si comienza su sesión con una consulta de saldo, se le asignan permisos más bajos y luego, para realizar un retiro (que requiere los permisos más altos), debe ingresar nuevamente su PIN.

Tal vez pueda usar un razonamiento similar para determinar si su usuario debe iniciar sesión nuevamente.

    
respondido por el TTT 29.04.2016 - 00:07
fuente
0

Te abres a un mal comportamiento del usuario en ese momento. Realmente desea mantenerlos a salvo asegurándose de que está protegido contra la mayor mala conducta posible de los usuarios.

Si un administrador abre la vista web, hace que sea más fácil para ellos olvidar que están en el área de administración y salir sin cerrar sesión en el área de administración, dejándola abierta para alguien que se sienta y obtenga el control completo.

Por supuesto, este es un mal escenario para el usuario y se asemeja a que el administrador se retire con la aplicación de administración abierta, ¿y cómo se protege realmente contra eso? Lo único que ganan al ser forzados a iniciar sesión nuevamente es que al menos puedes cerrar la sesión de la aplicación de administración e intentar mantenerlos seguros, pero puedes hacerlo de todos modos con tiempos de espera.

En realidad, la vista de administrador a web está bien, ya que vas de Elevated a User, pero debes cerrar la sesión en cualquier caso.

    
respondido por el Robert Mennell 28.04.2016 - 23:31
fuente
0

He visto varias aplicaciones web que implementan un "modo sudo". En tu ejemplo, podría verse algo como esto:

Yo, un administrador, inicié sesión en su aplicación y permanezco conectado durante largos períodos de tiempo (tal vez la sesión caduque después de 30 días). Protejo esta cuenta con una cantidad razonable de seguridad, pero no soy súper paranoico al respecto.

Cuando quiero hacer algo como administrador, obtengo una página que me solicita mi contraseña nuevamente. Entro, y luego continúo mi camino. Después de 15 minutos de inactividad (es decir, no hay solicitudes con mi sesión), el modo sudo caduca y las acciones de administrador requieren una solicitud de contraseña.

Esta configuración es un poco molesta para el usuario, pero no es tan mala, ya que puede agrupar varias operaciones de administración sin volver a ingresar una contraseña cada vez. Y proporcionar una separación como esta es útil cada vez que una cuenta de usuario se usa principalmente para cosas bastante mundanas, pero puede usarse para acciones importantes / sensibles.

    
respondido por el Xiong Chiamiov 29.04.2016 - 01:27
fuente