Ir al contenido principal

Construyendo Objetos de Base de Datos - Módulo de Seguridad

Ahora implementaremos los procedimientos almacenados a nivel de base de datos que serán invocados desde nuestra aplicación webToda nuestra lógica de negocio será controlado desde la base de datos, nuestra aplicación web se encargará de alimentar de la lógica implementado en la base de datos.

PROCEDIMIENTOS ALMACENADOS PARA EL ACCESO Y VALIDACIÓN A LA APLICACIÓN WEB:

SP_GET_SEG_USUARIO_DASH:
Encarga de capturar todos los campos de la tabla SEG_USUARIO_DASH. Los campos USUARIO y PASSWORD, es para capturar los datos del usuario y pasar al controlador en primera instancia, a través de la acción se valida dichos datos para lograr el acceso a la aplicación (esto lo veremos al implementar la aplicación).

Script:
-- ====================================================
-- Author:  HADSON PAREDES CORDOVA
-- Create date: 2016/060/04
-- Description: Captura el ID_USUARIO, USUARIO,
--     PASSWORD, STS_REGISTRO, STS_RECORDAR
-- ====================================================
CREATE PROCEDURE SP_GET_SEG_USUARIO_DASH
AS
BEGIN
    SELECT ID_USUARIO, USUARIO,
           PASSWORD, STS_REGISTRO, STS_RECORDAR
    FROM   SEG_USUARIO_DASH
END

SP_GET_SEG_USUARIO_ROL_DASH:
Encarga de capturar todo los campos de la tabla USUARIO_ROL_DASHLos campos ID_USUARIO_ROL y ID_USUARIO, es útil para capturar y pasar los datos del rol al que pertenece dicho usuario ingresados en la primera instancia.

Script:
-- ====================================================
-- Author:  HADSON PAREDES CORDOVA
-- Create date: 2016/060/04
-- Description: Captura el ID_USUARIO_ROL, ID_USUARIO,
--              ID_MENU, STS_REGISTRO
-- ====================================================
CREATE PROCEDURE SP_GET_SEG_USUARIO_ROL_DASH
AS
BEGIN
    SELECT ID_USUARIO_ROL, ID_USUARIO,
      ID_MENU, STS_REGISTRO
    FROM SEG_USUARIO_ROL_DASH
END
PROCEDIMIENTO ALMACENADO PARA CONSTRUIR EL MENU DE ACUERDO AL ACCESO Y VALIDACIÓN:

SP_GET_SEG_MENU_DASH:
Encargado de capturar el ID_MENU, DESCRIPCION (descripción completa), CONTROLADOR (controlador a la que pertenece desde nuestra aplicación web), ACCION (acción que se realiza desde nuestra aplicación web), IMAGEN (asociado al menu a la que pertenece) y STS_REGISTRO (solo se puede mostrara el registro que este activo), todos estos campos es necesario para construir el menu completo de la aplicación según el usuario ingresado y al rol a la que pertenece dicho usuario.

Script:
-- =========================================================================
-- Author:  HADSON PAREDES CORDOVA>
-- Create date: 2016/060/04>
-- Description: Relaciona el menu dashboar con el rol usuario considerando
--     el parámetro @PC_USUARIO y el estado del  usario rol
-- =========================================================================
CREATE PROCEDURE SP_GET_SEG_MENU_DASH
 @PC_USUARIO VARCHAR(20)
AS
BEGIN
    SELECT M.ID_MENU,
      M.DESCRIPCION,
      M.CONTROLADOR,
      M.ACCION,
      M.IMAGEN,
      M.STS_REGISTRO
    FROM SEG_MENU_DASH M
      JOIN SEG_USUARIO_ROL_DASH R
      ON M.ID_MENU = R.ID_MENU
      JOIN SEG_USUARIO_DASH U
      ON R.ID_USUARIO = U.ID_USUARIO
    WHERE U.USUARIO = @PC_USUARIO
    AND     R.STS_REGISTRO = 1
END

Por ahora sólo se crearan estos 3 procedimientos almacenados. El la siguiente fase se creara la solución y los proyectos necesarios para el desarrollo de aplicación web.

Comentarios

Entradas más populares de este blog

Habilitar Usuario HR Oracle

Al realizar la primera instalación del Oracle, el usuario HR por defecto está bloqueado y por ende no podemos loguearnos como dicho usuario, lo que debe hacer son los siguiente pasos, aplicables para Linux o Windows.
1. Conectarse como usuario system o sysdba + contraseña haciendo uso del comando connect.
Usuario: system
Password: xxxx 


2. Hacer uso  del comando alter user hr account unlock desbloqueamos la cuenta.
alter user hr account unlock;

3. Escribimos el comando alter user HR identified by hr; con esto estamos diciendo que la contraseña será hr.

alter user HR identified by hr;

4. Ahora testeamos la conexión con el comando - conn hr/hr@xe. Si deseas después de conectarnos se puede realizar un select a la tabla employees del hr.


Resultado del select realizado
5. Con todos estos pasos realizados ya podemos logearnos desde cualquier IDE como el usuario hr  y la contraseña hr que definimos en el paso 3. 
Para finalizar nos loguearemos con el IDE Oracle SQL Developer.

Espero les sea de utilidad,…

Usuario SYS y SYSTEM - ORACLE

Usuario SYS y SYSTEM
Ambos usuario son creados de forma automática al crear la base de datos ORACLE y se otorga el rol de DBA.

SYS (password por defecto: CHANGE_ON_INSTALL).
SYSTEM (password por defecto: MANAGER).

Lo que se recomienda es cambiar el password de ambos usuarios por el tema de seguridad.

SYS:
Todas las tablas y vistas para el diccionario de datos de la base de datos están almacenados en el esquema SYS. Estas tablas y vistas son críticas para el funcionamiento de la base de datos ORACLE. Para mantener la integridad del diccionario de datos, las tablas del esquema SYS son manipulados solo por la base de datos. Nunca se debería modificar algo o crear tablas en el esquema del usuario SYS.

SYSTEM:
El usuario SYSTEM se utiliza para crear tablas y vistas adicionales que muestran información administrativa, tablas internas y vistas utilizado por varias opciones y herramientas de la base de datos ORACLE. No se recomienda utilizar el esquema SYSTEM para almacenar tablas de interés para usu…

Parámetro de entrada y salida – PL/SQL

Parámetro de entrada y salida – PL/SQL:
Los parámetros de entrada y salida no son los parámetros de inicialización de la base de datos ORACLE. Los parámetros de entra y salida son utilizados mayormente en implementaciones de funciones, procedimientos almacenados o bloques de código bajo el lenguaje del PL/SQL, se considera que ambos parámetros (entra y salida) puedan realizar operaciones en el mismo bloque PL/SQL, es decir, si enviamos un parámetro de entrada hará que cumpla cierta operación y retornara los valores de salida de dicha operación procesada de acuerdo al parámetro de ingresado. Es de acuerdo al caso que nos presenta en la implementación.
Algo importante al definir los parámetros, es saber y considerar cuántos tipos de parámetro existe si solo hablamos de entrada y salida, en realidad mi determinación seria 3 tipos:

Parámetros:

IN – entrada
OUT – salida
IN OUT – entrada salida

Parámetro IN – entrada:
El comportamiento común de estés tipos de parámetros es estar siempre pendiente d…