3 Uso K2BTools Fast Start

Anuncio
K2BTools Fast Start
1
Objetivo ___________________________________________________________ 3
2
Estructura de seguridad ______________________________________________ 3
3
Uso K2BTools Fast Start _____________________________________________ 4
4
3.1
Login_______________________________________________________________ 5
3.2
Asignando roles al usuario: ____________________________________________ 6
3.3
Manejo de roles: _____________________________________________________ 7
3.4
Manejo de actividades ________________________________________________ 9
3.5
Manejo de entidades _________________________________________________ 11
3.6
Creación de usuario _________________________________________________ 13
3.7
Información de usuario: ______________________________________________ 13
Customización: ____________________________________________________ 15
4.1
K2BIsAuthorizedActivityList(procedure): _______________________________ 15
4.2
K2BLoadUserDefinedActivities(procedure): _____________________________ 15
4.3
K2BCreateActivities(procedure): ______________________________________ 15
4.4
K2BLogin (webpanel): _______________________________________________ 15
4.5
K2BEncryptPassword (procedure): ____________________________________ 15
4.6
K2BSecurityStartUp(procedure): ______________________________________ 16
4.7
K2BWWMasterPageLogin(webpanel): _________________________________ 16
4.8
K2BHeaderFastStart(webpanel) : ______________________________________ 16
2
1 Objetivo
K2BFastStart tiene como objetivo proveer un inicio rápido de componentes de una
aplicación GeneXus Web en la que se utilizan las k2btools. En esta versión se incluirá
una implementación de un módulo de seguridad dando la posibilidad al desarrollador de
a partir de esta solución adaptarla a la forma de manejo de seguridad que él considere
conveniente.
2 Estructura de seguridad
La estructura de datos para el manejo de la seguridad es la que se muestra en el siguiente
diagrama.
Un usuario tiene roles, cada rol tiene actividades. Cada actividad tiene asociado una
entidad (transacción). Un usuario está autorizado para realizar una actividad si alguno de
los roles que posee está autorizado a realizar la actividad.
Una actividad puede tener una entidad asociada. Pueden existir actividades que no están
asociadas a ninguna entidad.
Una actividad puede ser una actividad standard (Insert, Update, Delete, Display, List), o
una actividad de usuario (Autorizar orden de compra, etc).
3
Las actividades standards están asociadas a una entidad, por ejemplo dar de Alta un país,
es una actividad de tipo Insert cuya entidad es Pais.
El patrón K2BEntityServices al aplicarse maneja el acceso a las actividades standards de
los objetos e invoca a un procedimiento para el control de seguridad.
Como ejemplo si le aplicamos el pattern k2bentityservices a la transaccíon Pais, el pattern
k2bentityserivces controlara la seguridad de las siguientes actividades:
• List Pais = Acceso al trabajar con países, reportes pdf y Excel. Acceso a todos los
subworkwith que tienen como related transaction ese país.
• Display Pais = Acceso al tab general del entity manager.
• Insert, Update, Delete: Acceso a la transacción en estos modos, control en la
transacción para que el usuario no pueda acceder.
Por más información sobre lo que es una actividad se recomienda leer el capítulo 10 del
manual de k2btools.
3 Uso K2BTools Fast Start
Instalada la versión 6.0, en el menú K2BTools aparecerá la opción K2BToolsFastStart
con las opciones Create Security y Remove Security.
CreateSecurity consolidará un xpz que contendrá toda la estructura de seguridad y
programas de manejo (Login, información de usuario, etc).
Remove Security Elimina las transacciones y los objetos consolidados por la acción
create security de forma tal de volver rápidamente al estadio anterior.
4
3.1 Login
Cada vez que se desea acceder a la aplicación el usuario debe loguearse. Para esto deberá
acceder a la pantalla de login invocando al objeto K2BLogin..
La primera vez se podrá acceder a la aplicación con el usuario/password
administrator/administrator, dado que K2BToolsFastStart crea un usuario y rol básico
con permisos para manejar objetos de seguridad.
Luego del login se accederá a la página de inicio.
5
El usuario administrator creado por defecto tendrá un rol administrator y solo tendrá
permisos para acceder a los objetos de seguridad. En el menú se puede seleccionar la
opción Security.
Allí se accederá a una aplicación que permitirá el manejo de usuarios roles, entidades y
actividades.
La primera vez que se accede el usuario administrador deberá asignar permisos para que
tenga acceso a la aplicación.
3.2 Asignando roles al usuario:
En el main de seguridad (Opción Security del menú o objeto K2BSecurityBackend),
seleccionar usuario. Ir al entity manager y seleccionar el tab user roles.
6
Allí se mostrarán los roles que posee el usuario. Para asignar roles al usuario se tiene que
presionar la acción de add y se accederá a una pantalla de múltiple selección donde se
permitirán asignarle roles al usuario.
A la izquierda aparecerán todos los roles que se pueden seleccionar a la derecha los roles
seleccionados.
3.3 Manejo de roles:
Accediendo en el backend de seguridad a los roles, es posible dar de alta nuevos roles.
Yendo al entity manager de un rol seleccionando el tab activities, es posible visualizar las
actividades a las que tiene acceso ese rol.
7
Para asignarle actividades a ese rol se deberá presionar la imagen de add. Allí se navegará
hacia una pantalla de múltiple selección.
En la grilla de la izquierda se mostrarán todas las actividades disponibles para agregar.
En la grilla de la derecha todas las actividades asignadas.
8
3.4 Manejo de actividades
En la parte de actividades aparecerá un listado con todas las actividades. No es necesario
dar de alta manualmente todas las actividades. Seleccionado el botón Create Activities,
las actividades serán automáticamente dadas de alta. En caso de que la actividad no
pueda ser dada de alta automáticamente se puede usar la acción de add.
Cada vez que se aplica alguna nueva instancia del patrón
k2bentityservices,automáticamente se actualiza el programa para cargar las nuevas
actividades en el sistema.
9
Como una forma adicional de dar permisos, seleccionada una actividad, se pueden
visualizar los roles que tienen acceso a esa actividad.
10
Con la acción de add es posible asignarle roles a la actividad.
3.5 Manejo de entidades
Las entidades son las transacciones que tienen seguridad en él sistema.
11
Las entidades son dadas de alta automáticamente cuando se cargan las actividades. En
caso de tener una entidad específica, es posible darla de alta en la siguiente pantalla.
Además se pueden visualizar qué actividades tienen asociadas las entidades.
12
3.6 Creación de usuario
En la pantalla de login es posible registrar usuarios en el sistema. Este usuario no tendrá
ningún permiso, hasta tanto el usuario administrador le asigne algún rol.
3.7 Información de usuario:
Seleccionando la opción edit profile ubicada en la esquina superior derecha de la pantalla
es posible que un usuario modifique su información.
13
En dicha pantalla podrá modificar su password y su información personal.
14
4 Customización:
Es posible realizar customizaciones. Aquí se nombraran los objetos que intervienen en la
seguridad.
4.1 K2BIsAuthorizedActivityList(procedure):
Procedimiento principal de seguridad. Es el que determina si una actividad está
autorizada o no. Este procedimiento es invocado por todos los objetos cuando chequean
si están autorizados o no.
4.2 K2BLoadUserDefinedActivities(procedure):
Es un procedimiento cuyo objetivo es crear un listado de las actividades que no son
generadas automáticamente por las k2btools. En este caso agrega actividades básicas de
usuario, para modificación de password y modificación de información de usuario.
4.3 K2BCreateActivities(procedure):
A partir de la lista de actividades generadas por las k2btools (k2bloadactivitylist) y las
actividades de usuario (k2bloaduserdefinedactivities), almacena esas actividades en la
tabla Activity.
4.4 K2BLogin (webpanel):
Es la página que se encarga de loguear al usuario. En dicha página es posible registrar un
nuevo usuario. Es deseable que en producción la página sea accedida a través de https.
4.5 K2BEncryptPassword (procedure):
Es el que se encarga de encriptar la contraseña. Para que la contraseña no quede
almacenada plana en la base de datos se está aplicado un encrypt64 al atributo
UserPassword con una clave fija. Este procedimiento puede ser modificado, por ejemplo
15
para que según el lenguaje que se este generando (java, c#) se puedan usar otros
algoritmos (md5, sha, etc).
4.6 K2BSecurityStartUp(procedure):
Procedimiento que se encarga de inicializar la seguridad del sistema (crea usuario
administrador y le asigna permisos). Este procedimiento es invocado desde K2BLogin
cuando no existen usuarios en el sistema. Puede ser modificado para personalizar la
inicialización.
4.7 K2BWWMasterPageLogin(webpanel):
Es la master page que es utilizada únicamente por el objeto k2blogin. Dado que no se está
logueado, no cuenta con las acciones de edit profile, que aparecerán cuando el usuario
este logueado.
4.8 K2BHeaderFastStart(webpanel) :
Header que es utilizado para todos los web panels menos K2BLogin.
Contiene las acciones de edit profile, logout, y el mensaje de bienvenida.
16
Descargar