Proyecto realizado en Visual Basic .Net el cual permitirá crear roles y asignarles permisos para administrar de forma sencilla el acceso al sistema y sus formularios por los usuarios.

Buenas señores, estuve desarrollando este sistema debido a la necesidad que tenia por poder administrar de una manera sencilla los permisos de los usuarios de un sistema, sea del tipo que sea, pudiendo crear secciones, áreas, grupos o menús y solo elegir a quien darle el acceso.

En este post les detallare las partes, la configuración y el funcionamiento de este sistema que no es nada complicado.

Requisitos

  • .Net Framework 4.7.2: Este sistema esta desarrollado en esta versión del framework, que fácilmente puede ser descargado junto a Visual Studio 2019 o la versión 2017, es muy fácil de instalar.
  • SQL Server 2016 o Superior: Pueden utilizar desde la versión 2016 hasta la 2019 ambos en su versión Express es suficiente.

Siempre es bueno tener las ultimas versiones aunque no es del todo necesario. También mencionar que las versiones que pueden utilizar son la Visual Studio Community 2019 y SQL Server 2019 Express.

Configuración

Primero descargaremos o clonaremos los archivos del repositorio en Github

Una vez descargados los archivos, tendremos que ejecutar el script SQL para crear la base de datos y sus tablas, datos y procedimientos almacenados.

Cargamos al IDE de Visual Studio con el proyecto, tendremos que generar en primer lugar una cadena de conexion a la base de datos. Imagino que este paso ya lo saben. Muestro un ejemplo:

Data Source=.;Initial Catalog=BD;User ID=USUARIO; Password=PASSWORD

Una vez tengamos esa cadena de conexión modificamos el inicio del proyecto, y seleccionaremos como formulario de inicio a genCadena.vb, quedando de esta forma:

Elegimos el formulario que debe iniciar primero, e Iniciamos la depuración

Ahora tendremos que iniciar el proyecto, ahora en el formulario que se mostrara pegaremos la cadena de conexión y luego presionaremos el botón de ENCRIPTAR, una vez que tengamos generado la cadena de conexión cifrada la copiaremos y la pegaremos en nuestro archivo app.config, con las siguientes etiquetas XML:

Pegamos la Cadena de conexión y Click en Encriptar
<configuration>
    <connectionStrings>
      <add name="Connection" connectionString="YOUR STRING CONNECTION ENCRYP"/>
</connectionStrings>

Una vez hecho esto ya podrán volver a especificar como formulario de inicio LOGINFORM1.VB, teniendo que iniciar sesión con los siguientes datos:

Usuario: usuario2
Contraseña: 123456

Una vez iniciado el sistema , podremos realizar pruebas con los permisos asignados a cada tipo de usuario, cada rol de usuario.

Ventana de inicio de Sesión para permisos y roles
Iniciamos Sesión

De manera predeterminada hay 5 grupos o roles de usuarios agregados al sistema, los cuales pueden ser modificados o eliminados a gusto de cada desarrollador, esto se tendrá que hacer de manera manual desde la BD.

Así se visualizan la lista de permisos

Así también podrán ser modificados los permisos de cada rol, estos si podrán ser modificados desde el proyecto en ejecución. Tener en cuenta que para asignar los nuevos permisos y estos se vean reflejados en el sistema, se tendrá que cerrar la aplicación o terminar la depuración y volverla a iniciar .

Tipos de Permisos

Se tienen permisos para acceso al formulario, en caso no tenga permiso el usuario o grupo/rol para acceder se mostrara deshabilitado el menú (ToolStripMenuItem) y para las acciones dentro del formulario como Crear o Registrar, Editar o Modificar y Eliminar.

Para finalizar, este proyecto es totalmente libre, OpenSource , el cual podrá ser modificado y/o adaptado por cualquier persona según sus necesidades. Pudiendo realizar sus aportes de mejoras si asi lo quisiera.

Asi que animo a todo el que quiera apoyar este proyecto y que la mejora de este sea para todos.

Un agradecimiento para Manu quien me apoyo en el desarrollo de este proyecto.

Pueden acceder a el repositorio desde le link en la imagen de GitHub de abajo.

Accede al repositorio

Iconos diseñados por Pixel perfect from www.flaticon.es