Archive

Archive for September, 2010

Seguridad en las applicaciones – Parte III (Pantallas)

September 1, 2010 Leave a comment

En las dos entradas de blog pasados hemos visto los requisitos y la base de data. Hemos mirado los papeles y permisos explicitos y cómo juntar las pantallas con los permisos. Vamos a ver las pantalla en el sistema que nos permite configurar la seguridad para nuestra usarios.

Mantenimiento de un Papel
Vamos a ver la pantalla de Mantenimiento de un Papel. Esta pantalla maneja todos los papeles en el sistema. Usarios se pueden crear, cambiar, o borrar papeles. El siguente es un imagen de la pantalla Mantenimiento de un Papel:

Adición de un Papel
Para adicionar a un papel, el usario haga clic sobre el botón “New” que queda en la parte a la izquierda del toolbar:

Esto traerá la siguente pantalla:

En mi escenario, el sistema tiene varios módulos que representen diversas líneas de negocio. El usuario puede escoger cuál applicación él quiere que el papel va a pertenecer. También él escribe un nombre para el nuevo papel. El usario haga clic sobre el botón “Save” para guardar sus cambios.

Colocando Pantallas a un Papel
El usuario asocia las pantallas para un papel. Con el nuevo papel que el usuario ha creado, el usario haga clic sobre el botón “Add New” que queda en la parte a la derecha del titulo “Screen” en la matrix:

Esto traerá la siguente pantalla:

El usuario puede multi-selecciona las pantallas para agregar al papel actual. NOTA: Solamente las pantallas que no se asocian ya a esto querrán aparecer en el selector. Una vez que el usuario cierra la pantalla del selector, el usuario puede asignar los permisos apropiados como se muestra abajo:

El usario haga clic sobre el botón “Save” para guardar sus cambios.

Borrar un Papel
El usuario tiene la capacidad de quitar papeles existentes. De acuerdo con requisitos del negocio, el usuario debe primero quitar todas las pantallas asociadas a este papel. Para borrar un papel, el usario haga clic sobre el botón “Delete” en la barra de herramientas como se muestra abajo:

Esto traerá la siguente pantalla de confirmación:

El usario haga clic sobre el botón “Save” para guardar sus cambios.

Borrando Pantallas de un Papel
Según lo indicado previamente, antes de que un papel pueda ser borrado, todas las pantallas deben primero ser quitadas. El usario haga clic sobre el botón “Delete” a la derecha del papel en la matrix como se muestra abajo:

Esto traerá la siguente pantalla de confirmación:

El usario haga clic sobre el botón “Save” para guardar sus cambios.

Seguridad del Acceso de Usuario
La pantalla de seguridad del acceso de usuario proporciona la capacidad de controlar el acceso de usuario a todas las pantallas en el sistema. Un usuario puede asignar papeles existentes a las cuentas de usuario o definir permisos explícitos de la pantalla. Lo que sigue es un imagen de pantalla del usuario “matt” y sus permisos:

Adición de un Papel de Usario
Al agregar a un usuario a un papel, el usuario haga clic sobre el botón “New” al derecho del título de los papeles de usuario en el árbol.

Esto traerá la siguente pantalla:

El usuario primero escogerá qué Applicación él quiere para filtrar los papeles existentes y después selecciona el papel apropiado. NOTA: Solamente los papeles que no se han asociado ya a esta cuenta de usuario serán exhibidos. Finalmente, el usuario haga clic sobre el botón “Save” para guardar sus cambios y para que el árbol refleja el cambio también.

Borrar un Papel de Usario
El usuario tiene la capacidad de quitar papeles de cuentas de usuario. El usuario haga clic sobre el botón “Delete” a la derecha del título del papel en el árbol.

Esto traerá la siguente pantalla de confirmación:

El usuario haga clic sobre el botón “Save” para guardar sus cambios y para que el árbol refleja el cambio también.

Cambiando los Permisos de una Pantalla en un Papel de Usario
El usuario tiene la capacidad de eliminar cualquier permiso de la pantalla para un papel. El usuario haga clic sobre el botón “Edit” a la derecha del título del papel en el árbol.

Esto traerá la siguente pantalla:

El usuario puede cambiar los permisos para la pantalla especificada. NOTA: Esta acción no cambia el papel. El sistema comprobará para saber si hay un permiso explícito existente y para abrirlo. Si el sistema no puede encontrar el permiso correspondiente de la pantalla, creará un nuevo para la cuenta de usuario. Finalmente, el usuario haga clic sobre el botón “Save” para guardar sus cambios y para que el árbol refleja el cambio también.

Adición a una Pantalla al Usario
Al asignar permisos de la pantalla a una cuenta de usuario, el usuario haga clic sobre botón “New” al derecho del título explícito de los permisos de la pantalla.

Esto traerá la siguente pantalla:

El usuario primero escogerá qué Applicación él quiere para filtrar las pantallas y después selecciona la pantalla apropiada. NOTA: Solamente las pantallas que no se han asociado ya a esta cuenta de usuario serán exhibidos. Finalmente, el usuario haga clic sobre el botón “Save” para guardar sus cambios y para que el árbol refleja el cambio también.

Quitando una Pantalla de un Usario
El usuario tiene la capacidad de quitar permisos de la pantalla de una cuenta de usuario. El usuario haga clic sobre el botón “Delete” a la derecha de la pantalla en el árbol.

Esto traerá la siguente pantalla de confirmación:

El usuario haga clic sobre el botón “Save” para guardar sus cambios y para que el árbol refleja el cambio también.

Cambiando un a Pantalla de un Usario
El usuario puede cambiar cualquier permiso existente de la pantalla en una cuenta de usuario. El usuario haga clic sobre el botón “Edit” a la derecha de la pantalla en el árbol.

Esto traerá la siguente pantalla:

El usuario puede cambiar los permisos para la pantalla específica. Finalmente, el usuario haga clic sobre el botón “Save” para guardar sus cambios y para que el árbol refleja el cambio también.

Una Nota sobre los Papeles y los Permisos Explícitos de una Pantalla
Si una cuenta de usuario tiene un papel asociado a ella y la cuenta de usuario también tiene un permiso explícito de la pantalla que sea también parte de un papel. El permiso explícito de la pantalla tiene siempre una prioridad más elevada sobre el papel al hacer cumplir el modelo de seguridad. Esto es una regla de negocio simple y usted podría hacer más aquí para ocuparse de las ediciones de la concurrencia entre las pantallas en papeles y los permisos explícitos.

Fin
Esto debe darle una idea en cuanto a cómo usted puede construir una infraestructura de la seguridad para proporcionar papeles y permisos. En la última entrada de blog de esta serie veremos cómo ésta afecta a construir el menú y a hacer cumplir los permisos explícitos.

Categories: Español Tags: ,

Seguridad en las applicaciones – Parte II (Base de Data)

September 1, 2010 Leave a comment

Ya que hemos cubierto los requisitos del negocio y los escenarios de los usarios, vamos a mirar a los componentes de la data y lo necessario para implementar.

El siguente es un diagrama de la base de data de seguridad del systema. Estas mesas son todo lo necessario para implementar un sistema de seguridad que hemos hablado en las entradas de blog anteriores.

Vamos a ver que significa cada mesa y el papel que lleva para implementar seguridad en el sistema:

Nombre de la Tabla Propósito
sec_u_User Lleva a cabo la información de usuario pertinente. Representa a cualquier usuario que tiene acceso al sistema.
sec_r_Role Define el grupo de pantallas que se puedan juntar en un papel. Un papel se puede asociar a una o más pantallas.
sec_s_Screen Representa las pantallas reales en el sistema.
sec_su_ScreenUser Los permisos explícitos para cualquier usuario al nivel de la pantalla.
sec_sr_ScreenRole Los permisos para un papel.
sec_ur_UserRole El usuario puede pertenecer a los papeles múltiples tan bien como los papeles pueden tener usuarios múltiples.
sec_m_Menu Representa los menús en el sistema. Los menús se asocian a las pantallas para la navegación.
sec_uia_UserInstalledApplication En este sistema, hay muchos applicaciones y las cuentas de usuario se pueden tener el acceso en el nivel de la applicación.
mr_xa_Application El sistema contiene muchos muchos applicaciones. Cada applicación es como un departamento en un negocio. Por ejemplo, operaciones y ventas serian dos applicaciones separadas en el sistema.

Espero que ya puede comenzar a ver cómo cada pedazo toma su papel. No cada tabla sería requerida en su escenario pero me gusta tener el control de la seguridad del sistema desde la base de data. Asi no tengo que recompilar ni mandar codigo por un cambio de seguridad en el sistema.

En la entrada de blog siguiente veremos las pantallas y cómo se ejecutan en el sistema.

Categories: Español Tags: ,