Compartir a través de


Autenticación y autorización de LightSwitch

En LightSwitch, puede crear la aplicación más segura impedir que los usuarios no autorizados puedan leer, cambiar, o eliminar datos.Si implementa la autenticación y autorización, los usuarios deben probar sus identidades antes de que puedan tener acceso a la aplicación.Si tiene muchos usuarios, también puede administrar el acceso más fácilmente creando los roles de usuario que tienen niveles diferentes de acceso pantallas específicas y datos y después para asignar a cada usuario al rol adecuado.

Por ejemplo, una aplicación de nóminas podría permitirles a empleados ver, pero no cambiar, su información de la nómina.Sin embargo, un supervisor de nóminas podría obtener permiso para ver y cambiar la información de los empleados.Los empleados se asignarán al rol Empleado y el supervisor tendría asignado el rol Supervisor.

También puede administrar permisos más fácilmente agregando usuarios a grupos de seguridad en Active Directory y asignando permisos a esos grupos.Puesto que se heredan los permisos y la pertenencia, puede conceder y denegar permisos no sólo un grupo sino también para todos los subgrupos creando un único cambio.Por ejemplo, puede agregar Bob al grupo ventas en Active Directory.Si ventas es un subgrupo de comercialización, cualquier permiso conceder a comercialización también sería concedido a Bob.

Autenticación

El primer paso para proteger la aplicación es habilitar la autenticación.Puede usar la autenticación de formularios o de Windows.La propia aplicación administra la autenticación de formularios y un usuario debe proporcionar un nombre de usuario y una contraseña para tener acceso a la aplicación.En autenticación de Windows, las credenciales que fueron utilizadas para iniciar sesión en el equipo donde se ejecuta la aplicación se utilizan para autenticar al usuario de la aplicación y no se requiere ningún nombre de usuario adicional ni contraseña.En ambos casos, un administrador de la aplicación mantiene una lista de usuarios autorizados; en autenticación de formularios, el administrador mantiene las contraseñas cifradas también.

Para habilitar la autenticación

  1. En Explorador de soluciones, abra el menú contextual para el nodo propiedades y, a continuación Abrir.

  2. En Diseñador de aplicaciones, elija la ficha Access Control.

  3. En la lista Seleccione el tipo de autenticación que desea utilizar:, elija Utilizar autenticación de Windows o Usar autenticación de formularios.

    Si elige Utilizar autenticación de Windows, elija el botón de opción Sólo permite a los usuarios especificados en la presentación de los usuarios de la aplicación o el botón de opción Permitir a todo usuario de Windows autenticado.

    La aplicación ahora requerirá plena confianza para ofrecer credenciales para el acceso a la aplicación.

Para deshabilitar la autenticación

  1. En Explorador de soluciones, abra el menú contextual para el nodo propiedades y, a continuación Abrir.

  2. En Diseñador de aplicaciones, elija la ficha Access Control.

  3. En la lista Seleccione el tipo de autenticación que desea utilizar:, elija No habilitar autenticación.

    La aplicación no exigirá a los usuarios que proporcionen las credenciales para tener acceso a la aplicación y cualquier usuario puede tener acceso a cada parte de la aplicación.

Permisos

El siguiente paso para proteger la aplicación es crear permisos.Puede definir los permisos para las pantallas, comandos, entidades de datos y consultas.Primero, defina un objeto de permiso en el Diseñador de aplicaciones.A continuación, puede hacer referencia al objeto en código, en uno de los métodos Can como _CanExecute< ScreenName > o < QueryName >CanRun.El código de estos métodos comprueba si el usuario o el rol tiene el permiso y, a continuación, muestra el formulario o solo ejecuta la consulta si se valida el permiso.

Para probar el código, ejecute la aplicación como un usuario que tiene permiso y como un usuario que no lo tiene.Estableciendo los permisos de depuración, puede suplantar a un usuario al probar o depurar la aplicación.

Para crear un permiso

  1. En Explorador de soluciones, abra el menú contextual para el nodo propiedades y, a continuación Abrir.

  2. En Diseñador de aplicaciones, elija la ficha Access Control.

  3. En la cuadrícula Definir los permisos o seleccione permisos para utilizar para depurar, en la columna Nombre, elija <Add New Permission>, y escriba un nombre de programación para el permiso.

    El nombre debe comenzar con un carácter alfabético y solo puede contener alfabético o caracteres numéricos o subrayado.

  4. En la columna Nombre para mostrar, escriba el nombre del permiso que desea que aparezca en la pantalla que el administrador de la aplicación utilizará para asignar roles.

  5. En la columna Descripción, escriba una descripción del permiso.

Para escribir el código para establecer los permisos para una pantalla

  1. En Explorador de soluciones, abra el menú contextual para un nodo de la pantalla y, a continuación Abrir.

    Diseñador de pantallas para esa presentación abra.

  2. En la lista Escribir código, elija CanRunScreenName, donde es el nombre ScreenName de presentación seleccionado.

  3. En el Editor de código, escriba el código siguiente en el método de CanRunScreenName:

    If Current.User.HasPermission(Can_View_Products) Then
        result =  True
    Else
        result = False
    End If
    
    if (Current.User.HasPermission(Permissions.Can_View_Products)) 
    {
        result = true;
    } 
    else 
    {
        result = false;
    }
    

    Este código se evaluará cada vez que la aplicación inicia.

    [!NOTA]

    Observe que el código de ejemplo comprueba un permiso denominado Can_View_Products.Cuando aparece, sustituya el nombre de un permiso que haya definido en su aplicación.

Para escribir el código para establecer los permisos para un comando

  1. En Explorador de soluciones, abra el menú contextual para un nodo de la pantalla y, a continuación Abrir.

    Diseñador de pantallas para esa presentación abra.

  2. En el panel Árbol de contenido de pantalla, expanda un nodo de comando y, a continuación el comando que desea escribir código.

  3. Abrir el menú contextual para el comando y, a continuación ButtonName**_CanExecute**, donde es el nombre ButtonName de comando que eligió.

  4. En el Editor de código, escriba el código que desee en el método de ButtonName**_CanExecute**.

    [!NOTA]

    Para obtener un ejemplo de código, vea "Para escribir código para establecer permisos para una pantalla" antes en este tema.

Para escribir el código para establecer los permisos para una entidad

  1. En Explorador de soluciones, abra el menú contextual para un nodo de la entidad y, a continuación Abrir.

    Entity Designer para esa entidad se abre.

  2. En la lista Escribir código, elija un método de EntityName**_Can**Operación, donde es el nombre EntityName de entidad, y Operación es el nombre de la operación para la que desea escribir código.

    [!NOTA]

    Los métodos disponibles varían por contexto.Algunos ejemplos son CanDelete y CanUpdate.

  3. En el Editor de código, escriba el código que desee en el método de EntityName**_Can**Operación.

    [!NOTA]

    Para obtener un ejemplo de código, vea "Para escribir código para establecer permisos para una pantalla" antes en este tema.

Para escribir el código para establecer los permisos para una consulta

  1. En Explorador de soluciones, abra el menú contextual para un nodo de la consulta y, a continuación Abrir.

    Diseñador de consultas para esa consulta.

  2. En la lista Escribir código, elija uno de los métodos de QueryName**_CanExecute**, donde es el nombre QueryName de la consulta.

  3. En el Editor de código, escriba el código que desee en el método de QueryName**_CanExecute**.

    [!NOTA]

    Para obtener un ejemplo de código, vea "Para escribir código para establecer permisos para una pantalla" antes en este tema.

Para habilitar los permisos para la depuración

  1. En Explorador de soluciones, abra el menú contextual para el nodo propiedades y, a continuación Abrir.

  2. En Diseñador de aplicaciones, elija la ficha Access Control.

  3. En la cuadrícula Definir los permisos o seleccione permisos para utilizar para depurar la depuración, elija el permiso que desee habilitar para depurar, seleccione la casilla Concedido para depuración.

Publicar

Cuando se ayuda a proteger la aplicación, el paso final es publicarla.Al publicar por primera vez, debe proporcionar información de autenticación para un administrador predeterminado.Al publicar de nuevo, no tiene que repetir este paso.

Para proporcionar información de autenticación al publicar una aplicación

  1. En Asistente para publicación de aplicaciones de LightSwitch, elija la página Configuración de seguridad, y elija el botón de opción Sí, crea un administrador de la aplicación.

    [!NOTA]

    Debe realizar los pasos restantes sólo si está publicando directamente en un servidor.Si está creando un paquete, se le pedirá que agregar una cuenta administrativa cuando implemente el paquete.

  2. En el cuadro de texto Nombre de usuario, escriba un nombre de usuario.

    Si está utilizando la autenticación de Windows, debe especificar un nombre de inicio de sesión válido de Windows con el formato Dominio\Nombre de usuario.

    SugerenciaSugerencia

    También puede asignar como administrador predeterminado a un grupo de seguridad en Active Directory.

  3. En el cuadro de texto Nombre completo, especifique el nombre completo del usuario o grupo que se el administrador predeterminado.

  4. En el cuadro de texto contraseña, escriba una contraseña.

    [!NOTA]

    Si está utilizando la autenticación de Windows, Nombre completo, contraseña y los campos Confirmar contraseña no aparecen.

  5. En el cuadro de texto Confirmar contraseña, escriba la contraseña de nuevo.

    Recuerde el nombre de usuario y la contraseña porque necesitará especificar la primera vez que se ejecuta la aplicación.

  6. Termine de publicar la aplicación.

Usuarios y roles

Si es el administrador de la aplicación, debe ejecutar la aplicación publicada por primera vez.Se utiliza la presentación Roles y la presentación usuarios para definir roles, asignar permisos a los roles, y asignar roles a usuarios o grupos de usuarios.Puede tener acceso a estas aparecerá en la aplicación en ejecución en tiempo de diseño o cuando haya implementado.En tiempo de diseño, establezca un permiso de depuración para tener acceso a las pantallas.En una aplicación implementada, cualquiera que tenga el permiso Security Administration puede tener acceso a las pantallas.

[!NOTA]

Para abrir una sesión, debe utilizar el nombre de usuario y la contraseña que especificó al publicador de la aplicación.

Para definir un rol y asignar permisos

  1. En una aplicación publicada que ejecute con permisos de administrador, en la barra de menú, elija Roles.

  2. En el panel Roles, elija el botón +… (agregar).

  3. En el cuadro de diálogo Agregue el nuevo rol, escriba un nombre para el rol, y elija el botón Aceptar.

  4. En el panel Permisos, elija el botón +… (agregar).

    Una nueva fila aparece en la cuadrícula Permisos.

  5. En la primera columna de la cuadrícula, elija un permiso en la lista.

    La lista contienen todos los permisos disponibles para la aplicación.Puede agregar tantos permisos como necesite, pero debe elegir el botón +… (agregar) para que cada uno lo agregue.

  6. En la barra de herramientas de la aplicación, elija el botón Guardar para guardar los cambios.

Para agregar un usuario o grupo de usuarios

  1. En la barra de menú, elija usuarios para mostrar la presentación usuarios.

  2. En el panel Usuarios y grupos, elija el botón +… (agregar).

  3. En el cuadro de texto Nombre, escriba un nombre de usuario.

    Si está utilizando la autenticación de Windows, debe especificar un nombre de usuario válido en forma de alias (Terry), un dominio y alias (ejemplo \ Terry), alias y un dominio (terry@example.com), o un nombre de dominio completo y alias (northamerica.corp.example.com \ Terry).La cadena completa debe contener menos de 256 caracteres.También puede especificar el nombre de un grupo de seguridad en Active Directory.Si está utilizando la autenticación de formularios, el nombre de usuario debe ser único y contener menos de 256 caracteres.

  4. En el cuadro de texto Nombre completo, especifique el nombre completo del usuario.

    La información en el campo Full Name solo se utiliza para fines de presentación.

    [!NOTA]

    Para la autenticación de Windows, el campo Nombre completo se rellena automáticamente basándose en el nombre de usuario y no se pueda editar.

  5. En el cuadro de texto contraseña, escriba una contraseña.

    [!NOTA]

    Los campos contraseña y Confirmar contraseña no aparecen si utiliza la autenticación de Windows.

  6. En el cuadro de texto Confirmar contraseña, escriba la misma contraseña.

  7. En el panel Roles, elija el botón Add, y elija un rol en la lista Roles.

    Puede asignar un usuario a los roles múltiples repetir este paso para cada rol.

  8. En la barra de herramientas de la aplicación, elija el botón Guardar para guardar los cambios.

Para quitar un usuario o un grupo de usuarios

  1. En la barra de menú, elija usuarios para mostrar la presentación usuarios.

  2. En el panel Usuarios y grupos, elija la cuenta que desea quitar y, a continuación elija el botón X (eliminar).

    [!NOTA]

    Si un usuario ha iniciado una sesión con una cuenta que se elimine, el usuario puede guardar o no tendrán acceso a datos en el servidor.Si el usuario intenta tener acceso a los datos del servidor, Access denied aparece el mensaje.

    [!NOTA]

    Si se elimina una cuenta de grupo, cualquier usuario que heredara su rol de ese grupo perderá los permisos para dicho rol.

  3. En la barra de herramientas de la aplicación, elija el botón Guardar para guardar los cambios.

Vea también

Conceptos

Consideraciones de seguridad para LightSwitch

Otros recursos

Proyectos: El contenedor para la aplicación

grupos de seguridad de Active Directory