New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@codice-progressio/easy-permissions

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codice-progressio/easy-permissions

Permisos fáciles de crear y administrar.

latest
Source
npmnpm
Version
0.2.3
Version published
Maintainers
0
Created
Source

easy-permissions

Gestión rápida y fácil de permisos en express.

Crea un fichero segudirad/permisos.seguridad.js y registra en el todos los permisos que se definan en la apliación con la función $()

Instalacion

npm i @codice-progressio/easy-permissions

Uso

// Importa la libreria
const easyPermissions = require("@codice-progressio/easy-permissions")
// Setea los parametros básicos de configuración
easyPermissions.config({
  modoProduccion: false,
  generarPermisos: true,
})

Llamamos la función $ desde cada archivo de rutas que queramos asegurar.

const $ = require("@codice-progressio/easy-permissions").$

app.get("/", $("nuevo-permiso", "cam"), (req, res, next) => {
  res.send("ok")
})

Recuperar permiso faltante.

Es posible recuperar el permiso faltante en caso de que express-jwt-permissions detecte que no existe dentro del token desencriptado.

//El middleware de captura de errores.
app.use((err, req, res, next)=>{
  let nombreParametroRequest = easyPermissions.configuraciones.nombreParametroRequest

  if(req[nombreParametroRequest]){
    let leyenda = "No tienes permiso: " + req[nombreParametroRequest]
    return res.status(401).send(leyenda)
  }
})

Registrar solo texto

Por defecto $ devuelve un callback que funciona como medio para ejecutar la comprobación de seguridad de la ruta con express-jwt-permissions, pero es posible solo registrar el permiso seteando las opcion {esMiddleware:false}.

const MiMenu = [
  {
    titulo: "Menu que requiere permisos",
    permissions: [
      // Retorna solo "menus:menus-con-permisos"
      $(
        "menus:menus-con-permisos",
        "Este menú requiere este permisos para visualizarze",
        { esMiddleware: false }
      ),
    ],
  },
]

Configuraciones disponibles y valores por defecto.

OpciónValor por defectoDescripción
path"./"El path del fichero en el cual se van a estar agregando los permisos.
nombreArchivoPermisos"permisos.seguridad.js"El nombre del archivo que se buscara.
nombreCarpetaPermisos"seguridad"El nombre de la carpeta
modoProducciontrueGeneralmente recibe process.env.NODE_ENV
nombreParametroRequest"permisoSolicitado"Parametro que se adjunta al request y contiene el permiso definido el middleware. Su mejor función en cuando hay un error de permisos y se quiere saber cual fue el permiso solicitado.
generarPermisosfalsePor defecto detiene la generación del archivo. Mantenerlo por defecto en false impide que se registre cada tecla nueva dentro del permiso como una nueva linea en caso de usar auto-guardado.

FAQs

Package last updated on 30 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts