Sunday, August 20, 2017    
English 
Portuguese 
Skip Navigation Links
Inicio
Mi Cuenta
Foro
¡Pruébelo!
¡Adquira Ahora!
Skip Navigation Links
Sobre
Contáctenos
Mapa del Sitio
Skip Navigation Links

El StrataFrame Role-Based Security es muy detallado y provee al usuario final la protección esperada proporcionada por el software de sistema de seguridad bien diseñado.  Su objetivo final es impedir una abertura en áreas no autorizadas de una aplicación desde todos los puntos de una interfaz del usuario.   La puesta en práctica verdadera para el desarrollador es directa y muy bien documentada.  Este sistema de seguridad es más avanzado que un módulo de seguridad framework típico que ya viene pronto.

Descripción del Role-Based Security

Descripción
El StrataFrame Role-Based Security provee una conveniente, todavía extremamente profunda metodología de seguridad incorporada al nivel de base de su aplicación. El objetivo final de cualquier sistema de seguridad es evitar una abertura en áreas no autorizadas de la aplicación desde todos los puntos de la interfaz del usuario. Muchos desarrolladores de aplicaciones hacen frente con la ardua tarea de diseñar e implementar un sistema de seguridad que resida en el topo de un framework existente. 

La seguridad dentro del StrataFrame es dirigida al más elemental nivel del framework. Esto permite al desarrollador fijar las reglas de seguridad con objetos de negocios asociados y controles de la UI.

Aplicación de Seguridad al Usuario Final Incluida

El StrataFrame Role-Based Security también proporciona al desarrollador una Aplicación de Seguridad robusta para el desarrollo y mantenimiento de las preferencias globales de seguridad, permisos, niveles y usuarios. La Aplicación de Seguridad se puede incorporar y distribuir con sus propias aplicaciones con la licencia de ejecución libre de derechos.   

Ayuda Técnica y al Usuario
El Role-Based Security es también distribuido con la Ayuda Técnica para que sea utilizada por el desarrollador para la implementación dentro de su aplicación y con la Ayuda al Usuario que explica la Aplicación de Seguridad hacia el usuario final. Por supuesto, la Ayuda al Usuario se puede distribuir con la ejecución libre de derechos.


Global Preferences
Ver Cuadro Mayor
Preferencias Globales

Descripción de las Preferencias
Las preferencias globales son utilizadas para hacer cumplir las restricciones universales dentro del sistema de seguridad. Con la excepción de la expiración de la contraseña y de los cierres de sesiones, los valores no se pueden eliminar. Las preferencias existen para controlar la solidez y la política de la contraseña, normas de entrada en el sistema y cerraduras de sesión.

Por ejemplo, la longitud máxima y mínima de la contraseña, el tiempo mínimo entre los cambios de las contraseñas, la validad máxima de la contraseña y señales para contraseñas complejas son algunas de las propiedades asociadas con las preferencias globales.

Complejidad de la Contraseña
Los requisitos para una contraseña compleja siguen de cerca los requisitos definidos por Microsoft® para una contraseña compleja dentro del sistema Windows® 2003.

Las especificaciones exactas para una contraseña compleja son:

  • La contraseña debe tener por lo menos seis caracteres de largo.
  • La contraseña debe contener caracteres por lo menos desde tres de las cinco siguientes categorías:
    • Caracteres en mayúscula en inglés (A – Z)
    • Caracteres en minúscula en inglés (a – z)
    • Base de 10 dígitos (0 – 9)
    • Caracteres no alfanuméricos o símbolos (por ejemplo: !, $, #, %, etc.)
    • Caracteres de Unicode
  • La contraseña no puede tener tres o más caracteres consecutivos desde una palabra que esté en el nombre de la cuenta del usuario. Por ejemplo, si el nombre de la cuenta es “Roberto M. Dutra”, una contraseña no podrá satisfacer los requisitos mínimos de complejidad si cualquier una de las siguientes combinaciones estuvieren contenidas dentro de la contraseña: "rob", "ber", "dut", etc.

Entrada en el Sistema y Sesiones
Las preferencias también contienen los escenarios para la entrada en el sistema del usuario y la cerradura por inactividad de la sesión. Un intervalo de entrada de la contraseña se puede establecer para especificar la cantidad de tiempo que un usuario debe esperar después de un intento de entrada inválido antes que él/ella sean permitidos a entrar nuevamente. Esta metodología desalienta programas automatizados diseñados para sustraer las contraseñas del sistema.

La cerradura por inactividad de sesión permite al usuario establecer la cantidad de tiempo de inactividad antes que la sesión sea cerrada y que el usuario tenga que revalidarla antes de seguir utilizando la aplicación. Esta característica es muy útil para aplicaciones donde la estación de trabajo del usuario está localizada en un área de acceso público. Si utilizada, esta opción irá ocultar cualquier formulario de aplicación activa cuando la sesión sea cerrada; así, impidiendo acceso o visualización no autorizados.

Permisos
Ver Cuadro Mayor
Permisos

Descripción de los Permisos
Los recursos dentro de la aplicación (formulario, módulo, objeto de negocio) asignaran una permisión. Esta permisión es requerida para acceder o manipular ese recurso dentro de la aplicación. La permisión es entonces garantizada o negada hacia un nivel específico y los usuarios indican si los usuarios tienen derecho a acceder o manipular ese recurso.

Las permisiones disponibles dependen de la aplicación y son asignadas por el software desarrollador y no se pueden crear o modificar fuera del ambiente de desarrollo. Típicamente, una permisión es binaria: si tienes una permisión particular o si no la tienes; sin embargo, cualquier permiso se puede configurar para permitir también acceso para solamente lectura.

Como los Permisos son Utilizados
Típicamente, las permisiones son divididas en una de las siguientes categorías:
  1. Permisión al Nivel de Formulario – El acceso hacia los formularios son tanto garantizados como negados.
  2. Permisión al Nivel de Tabla
    • Tabla-Nivel Adicionar – Un usuario puede adicionar un registro a una tabla.
    • Tabla-Nivel Modificar – Un usuario puede modificar un registro dentro de una tabla.
    • Tabla-Nivel Eliminar – Un usuario puede eliminar un registro vía el formulario.
  3. Permisión al Nivel del Campo – Acceso hacia un campo que se pueda especificar como modificable, solamente lectura o negado.

Ni todos los niveles de permisiones son requeridos para existir a todos los formularios, por lo tanto, no es necesario, ni siquiera, tampoco práctico, para una permisión existir para cada tipo de evento que exista dentro de una aplicación. Por ejemplo, para ciertos formularios de mantenimiento dentro de la aplicación, solamente es necesaria una única permisión a se asignar para negar el acceso para el formulario de mantenimiento por si mismo. Los niveles más granulares no son requeridos. Por otra parte, si un formulario contiene información sensible y ni todos los usuarios deberían tener permisión para visualizar o modificar, el desarrollador puede forzar la seguridad para esa parte de la aplicación para ser más detallado, asignando una permisión separada para varios campos distintos dentro de una tabla única.

Acciones de los Permisos
Varias acciones están disponibles cuando una permisión es rechazada en el tiempo de ejecución. Obviamente, estas acciones son establecidas por el desarrollador basado en las necesidades de la función de la aplicación. Estas acciones son:

  • Sin Mensaje - Esta opción es utilizada cuando no es necesario que un mensaje sea visualizado por el usuario final. Por ejemplo:
    1. Acceso Programático - Esta opción debe ser utilizada para acceso programático cuando la intervención del usuario no sea necesaria. 
    2. Nivel de Campo - Si esto se fija para un campo y su acceso es negado, el usuario no estará habilitado a visualizar los contenidos del campo (será blanco). Los datos reales que están vinculados al campo no son cambiados, solamente su estado de visualización.
  • Mensaje - El mensaje introducido en la casilla de texto Mensaje o Llave será mostrado al usuario final.
  • Llave de Mensaje - La llave de mensaje introducida en la casilla de texto Mensaje o Llave será buscada y su texto correspondiente será mostrado al usuario final.
  • Sustituir cada Carácter - Esta selección es la misma que la selección “No Message”, la única diferencia existente es que en vez de visualizar los blancos existentes, el carácter “X” será utilizado para sustituir los contenidos de los campos. Otra vez, solamente el estado de visualización es cambiado con esta selección, los datos reales están intactos.
  • Niveles
    Ver Cuadro Mayor
    Los Niveles (Roles)

    Descripción de los Niveles
    En el Role-Based Security, los permisos son asociados a los niveles. Los usuarios entonces son hechos miembros de los niveles, de tal modo adquiriendo los permisos asociados. El propósito del nivel es agrupar tareas como enfermeras, doctores o vendedores de seguros juntos, ayudando de tal modo dirigir los usuarios y controlar el acceso a las funciones de la aplicación.

    El trabajo de un permiso hacia un nivel es una simple función binaria: los permisos son asignados para permitir el acceso y se quedan sin asignar para negar el acceso. Además, un nivel se puede controlar en un nivel más detallado con acciones, auditoría y sus restricciones de utilización. El objetivo de un sistema de seguridad basado en niveles es administrar el predominio de los derechos de acceso al nivel de grupo verdadero y solamente anular los permisos al nivel del usuario cuando necesario.

    Usuarios
    Ver Cuadro Mayor
    Usuarios

    Descripción de los Usuarios
    El propósito de cualquier sistema de seguridad es controlar el acceso de los usuarios. Un sistema bien diseñado ayuda el administrador de la aplicación cuando esté configurando verdaderamente los derechos de acceso del usuario. Como anteriormente declarado, el objetivo de un sistema de seguridad basado en grupos es administrar el predominio de los derechos de acceso al nivel verdadero del grupo y solamente anular los permisos al nivel del usuario cuando necesario.

    Esta técnica permite que cambios sean hechos en un nivel global, el grupo real y en última instancia heredado del nivel individual del usuario. Sin embargo, es importante estar apto a controlar detalladamente cualquier usuario sin reflectar en los grupos o en los otros usuarios. Este sistema está diseñado para incorporar el control necesario y acceso al usuario final.

    Sumándose al nombre del usuario e informaciones de la contraseña, varias propiedades permiten flexibilidad en el sistema de seguridad. Puedes elegir desactivar la cuenta del usuario después de una data particular, hacer del usuario un Administrador o elegir utilizarse de la autenticación del Windows para la cuenta del usuario. El tiempo de espera de la sesión puede también se establecer al nivel del usuario.

    Ajustes de Restricciones
    Ver Cuadro Mayor
    Ajuste de Restricción

    Descripción de los Ajustes de Restricción
    Un Ajuste de Restricción es utilizado para crear una regla global de acceso al usuario en lo que están comprendidos los días de la semana, horario del día, estación de trabajo y acción. Un Ajuste de Restricción es utilizado para habilitar o inhibir el acceso del usuario dependiendo de la acción (conceder, denegar o solo leer). En varias aplicaciones, el usuario puede ser limitado al tiempo y posiblemente a la estación de trabajo en la cual él/ella normalmente ocupe.

    Esta característica ayuda a evitar el compartir de contraseña (o robo) en un ajuste de una aplicación. Desde que la mayoría de los controles y auditoría de una aplicación comience y termine con el sistema de seguridad, los ajustes de restricciones permiten hacer cumplir, en una base detallada, pertenecer al tiempo y a la estación de trabajo.

    Llaves de Seguridad
    Ver Cuadro Mayor
    Incorporando Seguridad a sus Aplicaciones

    Incorporando el Role Based Security a su aplicación se hace más fácil utilizar el sistema de seguridad de StrataFrame. Utilizando un enfoque detallado, la seguridad se puede incrustar en cada área de su aplicación. Como anteriormente mencionado, la Aplicación de Seguridad está lista para utilizarse e instalarse en los sitios de su usuario, así, mucho del código ya está hecho. La interfaz programática es hecha simple también.

    Llaves de Seguridad
    Las llaves de seguridad son los elementos básicos de seguridad que te permiten personalizar e incrustar seguridad a su aplicación. Fácilmente establecida vía el Security Key Type Editor, las llaves de seguridad se pueden crear y mantenerse para todos elementos estimados como necesarios por el desarrollador. Por ejemplo, una llave de seguridad se puede establecer para cada formulario con restricciones de derechos de acceso. Otra llave de seguridad se puede establecer para un objeto de negocio, detallando si el usuario tiene acceso al objeto de negocio y si ese es el caso, si ellos han creado, modificado o visualizado privilegios.

    Otro tipo de llave de seguridad puede reflectar los derechos de acceso a los campos dentro del objeto de negocio. Esto permite que campos de datos sensibles sean limitados para modificación o visualización basados en los grupos y privilegios de usuario. Este enfoque permite al desarrollador decidir el nivel de seguridad necesario para todas las áreas de la aplicación.

    Formulario de Entrada Estándar
    Ver Cuadro Mayor
    Acceso Programático

    Todos los métodos y clases son fácilmente incorporados a las aplicaciones del StrataFrame, desde que ellos existan en el nivel jerárquico más básico. Esto hace la incorporación del Role-Based Security completa en apariencia hacia el usuario final de su aplicación. El siguiente muestra algunos ejemplos de como incorporar acciones particulares de seguridad y características dentro de su aplicación.

    Mostrar el Formulario Inicial de Entrada al Sistema
    Mostrar el formulario inicial de entrada dentro de una aplicación StrataFrame es consumado a través de la clase MicroFour.StrataFrame.Security.Login. Esta clase tiene una propiedad LoginFormType que acepta el System.Type del formulario que será mostrado como el formulario de entrada. Este tipo de formulario está predeterminado al MicroFour.StrataFrame.Security.LoginForm y se puede establecer para cualquier formulario de entrada personalizado que pone en práctica la interfaz MicroFour.StrataFrame.Security.ILoginForm. Un formulario de entrada personalizado también se puede crear e incorporar a la aplicación de seguridad.

    Una vez que el LoginFormType sea establecido (o mantenido el valor predeterminado), puedes llamar el método Login.ShowLoginAndAuthUser() para visualizar el formulario de entrada y autenticar un usuario en el sistema. El método irá retornar un valor “Boolean” indicando si el usuario final fue autenticado o si el ha cancelado el formulario y la aplicación deberá cerrarse.

    A seguir tenemos una muestra del código (Visual Basic and C#) para utilizar el formulario Logon. Aunque no incluido en este documento, las muestras para todos los elementos del StrataFrame Role-Based Security son similares en su utilización y estructura. El método ShowLoginAndInitMainForm() dentro del archivo AppMain.vb (Program.cs) es proveído para dar un local para mostrar el formulario inicial de entrada para la aplicación.

    Muestra - Mostrar el Formulario Inicial de Entrada [Visual Basic]
    Imports MicroFour.StrataFrame.Security.BusinessObjects
    ...
    Private Shared Sub ShowLoginAndInitMainForm( _
    ByVal e As ShowLoginAndInitFormEventArgs)
    
    '-- Ajuste el tipo de formulario de entrada hacia el tipo de formulario apropiado (opcional)
    Login.LoginFormType = GetType(MyLoginForm)
    
    '-- Visualice el formulario de entrada y ajuste el valor a ser retornado hacia e.ShowMainForm
    '   El valor “True” pasado hacia el método dice al método para permitir al
    '   usuario final cancelar el formulario de entrada que retornará “False” 
    '   desde el método.
    e.ShowMainForm = Login.ShowLoginAndAuthUser(True) 
    End Sub

    Muestra - Mostrar el Formulario Inicial de Entrada [C#]

    utilizando MicroFour.StrataFrame.Security;
    ...
    private static void ShowLoginAndInitMainForm(ShowLoginAndInitFormEventArgs e)
    {
    
    //-- Ajuste el tipo de formulario de entrada hacia el tipo de formulario apropiado (opcional)
    Login.LoginFormType = typeof(MyLoginForm);
    
    //-- Muestra el formulario de entrada y ajusta el valor de retorno para e.ShowMainForm
    //   El valor “True” pasado hacia el método dice al método para permitir al
    //   usuario final cancelar el formulario de entrada que retornará “False” 
    //   desde el método.
    e.ShowMainForm = Login.ShowLoginAndAuthUser(true);
    }

    Recuperando Preferencias Globales Desde la Base de Datos
    Un método compartido (estático) es proporcionado para recuperar preferencias globales desde la base de datos. Ejecutándose el MicroFour.StrataFrame.Security.BusinessObjects.SFSPreferencesBO.RetrieveSecurityPreferences() se recuperan las preferencias desde la tabla SFSPreferences en la base de datos y puebla las propiedades en la clase SecurityBasic. Por ejemplo, la propiedad "SessionTimeout" irá contener el tiempo predeterminado que una sesión de un usuario puede permanecer inactiva antes que la sesión expire y sea cerrada.

    Especificando la Llave de Cifración para los Datos del Usuario
    Los datos del usuario son almacenados dentro de la tabla de base de datos SFSUsers utilizando cifración 3DES. La llave para la cifración 3DES es especificada utilizando el método SecurityBasics.SetSecurityKeyAndVectorForUserAuthentication(). Este método crea una serie de números (hash) de la llave dada y la utiliza en el System.Byte[] que se utiliza para la llave de cifración y para el vector de inicialización del algoritmo 3DES. Aunque los datos sean almacenados en bases de datos estándar, esta metodología asegura que eses detalles de seguridad no estarán traicionados.

    Accediendo Permisos Programáticamente
    El MicroFour.StrataFrame.Security.SecurityBasics.CurrentUser contiene el método GetPermission() que es utilizado para programáticamente recuperar el PermissionInfo para una llave de permiso dada. El método acepta un único parámetro de secuencia lo que indica la llave de permiso la cual quieres recuperar al PermissionInfo. Una vez que la información del permiso sea recuperada, puedes determinar la acción que deberá ser llevada a cabo.

    Muestra – GetPermission() [Visual Basic]

    Importe MicroFour.StrataFrame.Security
    ...
    Private Sub CheckMyPermission()
    '-- Recupere el permiso y lo teste
    If SecurityBasics.CurrentUser.GetPermission("MyPerm").Action = _
    PermissionAction.Grant Then
    
    '-- Active el control
    Button1.Enabled = True
    Else
    '-- Desactive el control
    Button1.Enabled = False
    End If
    End Sub

    Muestra – GetPermission() [C#]

    using MicroFour.StrataFrame.Security;
    ...
    private void CheckMyPermission()
    {
        //-- Recupere el permiso y lo teste
        if (SecurityBasics.CurrentUser.GetPermission(@"MyPerm").Action ==
            PermissionAction.Grant)
        {
            //-- Active el control
            Button1.Enabled = true;
        }
        else
        {
            //-- Desactive el control
            Button1.Enabled = false;
        }
    }



     

    Portugués
    Ver Cuadro Mayor
    Localización (ATENÇÃO: na foto em portugues "mensagem está escrito com SS")

    Ejecuciones Pre-Localizadas
    La aplicación Role-Based Security del StrataFrame se pude localizar para cualquier idioma. Actualmente, los ajustes de localización fueron creados para inglés, español, portugués, alemán, francés, italiano y ruso. Los objetos de las aplicaciones, incluyendo formularios, etiquetas, casillas de texto y listas se pueden todos localizar para uno de los siete ajustes de idiomas.

    Todos los mensajes de los usuarios también son localizados hacia el idioma pertinente. Esto permite que los desarrolladores incrusten la aplicación de seguridad en sus aplicaciones para distribuir a los usuarios finales.

    Mapa del Sitio - Inicio - Mi Cuenta - Foro - Acerca de Nosotros - Contáctenos - ¡Pruébelo! - Adquirir

    Microsoft, Visual Studio, y el logo del Visual Studio son trademarks o trademarks registrados de Microsoft Corporation en EEUU y/u otros paises.