Académique Documents
Professionnel Documents
Culture Documents
1 2 3
Objetivo ___________________________________________________________ 3 Estructura de seguridad ______________________________________________ 3 Uso K2BTools Fast Start _____________________________________________ 4
3.1 3.2 3.3 3.4 3.5 3.6 3.7 Login_______________________________________________________________ 5 Asignando roles al usuario: ____________________________________________ 6 Manejo de roles: _____________________________________________________ 7 Manejo de actividades ________________________________________________ 9 Manejo de entidades _________________________________________________ 11 Creacin de usuario _________________________________________________ 13 Informacin de usuario: ______________________________________________ 13
Customizacin: ____________________________________________________ 15
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 K2BIsAuthorizedActivityList(procedure): _______________________________ 15 K2BLoadUserDefinedActivities(procedure): _____________________________ 15 K2BCreateActivities(procedure): ______________________________________ 15 K2BLogin (webpanel): _______________________________________________ 15 K2BEncryptPassword (procedure): ____________________________________ 15 K2BSecurityStartUp(procedure): ______________________________________ 16 K2BWWMasterPageLogin(webpanel): _________________________________ 16 K2BHeaderFastStart(webpanel) : ______________________________________ 16
1 Objetivo
K2BFastStart tiene como objetivo proveer un inicio rpido de componentes de una aplicacin GeneXus Web en la que se utilizan las k2btools. En esta versin se incluir una implementacin de un mdulo de seguridad dando la posibilidad al desarrollador de a partir de esta solucin 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 (transaccin). 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 estn 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 estn asociadas a una entidad, por ejemplo dar de Alta un pas, es una actividad de tipo Insert cuya entidad es Pais. El patrn 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 transaccon Pais, el pattern k2bentityserivces controlara la seguridad de las siguientes actividades: List Pais = Acceso al trabajar con pases, reportes pdf y Excel. Acceso a todos los subworkwith que tienen como related transaction ese pas. Display Pais = Acceso al tab general del entity manager. Insert, Update, Delete: Acceso a la transaccin en estos modos, control en la transaccin para que el usuario no pueda acceder. Por ms informacin sobre lo que es una actividad se recomienda leer el captulo 10 del manual de k2btools.
CreateSecurity consolidar un xpz que contendr toda la estructura de seguridad y programas de manejo (Login, informacin de usuario, etc). Remove Security Elimina las transacciones y los objetos consolidados por la accin create security de forma tal de volver rpidamente al estadio anterior.
3.1 Login
Cada vez que se desea acceder a la aplicacin 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 aplicacin con el usuario/password administrator/administrator, dado que K2BToolsFastStart crea un usuario y rol bsico con permisos para manejar objetos de seguridad. Luego del login se acceder a la pgina de inicio.
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 opcin Security.
All se acceder a una aplicacin 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 aplicacin.
All se mostrarn los roles que posee el usuario. Para asignar roles al usuario se tiene que presionar la accin de add y se acceder a una pantalla de mltiple seleccin donde se permitirn asignarle roles al usuario.
A la izquierda aparecern todos los roles que se pueden seleccionar a la derecha los roles seleccionados.
Para asignarle actividades a ese rol se deber presionar la imagen de add. All se navegar hacia una pantalla de mltiple seleccin.
En la grilla de la izquierda se mostrarn todas las actividades disponibles para agregar. En la grilla de la derecha todas las actividades asignadas.
Como una forma adicional de dar permisos, seleccionada una actividad, se pueden visualizar los roles que tienen acceso a esa actividad.
10
11
Las entidades son dadas de alta automticamente cuando se cargan las actividades. En caso de tener una entidad especfica, es posible darla de alta en la siguiente pantalla. Adems se pueden visualizar qu actividades tienen asociadas las entidades.
12
13
14
4 Customizacin:
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 estn autorizados o no.
4.2 K2BLoadUserDefinedActivities(procedure):
Es un procedimiento cuyo objetivo es crear un listado de las actividades que no son generadas automticamente por las k2btools. En este caso agrega actividades bsicas de usuario, para modificacin de password y modificacin de informacin 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.
para que segn 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 inicializacin.
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 aparecern 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