seguridad

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2021 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Overview

se refiere a la confianza en algo.

seguridad (del latín securitas) cotidianamente se puede referir a la ausencia de riesgo o a la confianza en algo o en alguien. Sin embargo, el término puede tomar diversos sentidos según el área o campo a la que haga referencia en la seguridad. En términos generales, la seguridad se define como "el estado de bienestar que percibe y disfruta el ser humano".

Administración basada en Roles El control de acceso basado en roles (RBAC) es una función de seguridad para controlar el acceso de usuarios a tareas que normalmente están restringidas al superusuario. Mediante la aplicación de atributos de seguridad a procesos y usuarios, RBAC puede dividir las capacidades de superusuario entre varios administradores. La gestión de derechos de procesos se implementa a través de privilegios. La gestión de derechos de usuarios se implementa a través de RBAC.

Index

Constants

View Source
const (
	ENCRIPTAMIENTO             = "md5"
	ACTIVARLIMITECONEXIONES    = true
	DESACTIVARLIMITECONEXIONES = false
)

Constantes Generales

View Source
const (
	ROOT               string = "0xRO" //Todos los privilegios del sistema
	CONSULTA           string = "0xCO"
	ADMINISTRADOR      string = "0xAD"
	ADMINISTRADORGRUPO string = "0xAA"
	INVITADO           string = "0xIN"
	PRODUCCION         string = "0xPR"
	DESARROLLADOR      string = "0xDE"
	PASANTE            string = "0xPA"
	OPERADOR           string = "0xOP"
	TEST               string = "0xPR"
	HACK               string = "0xHA"
	PROOT              string = "Root"
	PPRESIDENTE        string = "Presidente"
	PADMIN             string = "Administrador"
	PGERENTE           string = "Gerente"
	PJEFE              string = "Jefe"
	GAFILIACION        string = "Afiliacion"
	ANALISTA           string = "Analista"
)

Variables

View Source
var (
	LlavePrivada *rsa.PrivateKey
	LlavePublica *rsa.PublicKey
	LlaveJWT     string
)

Variables de Seguridad

View Source
var Stores = sessions.NewCookieStore([]byte("#za63qj2p-6pt33pSUz#"))

Stores resultados

Functions

func GenerarJWT

func GenerarJWT(u Usuario) string

GenerarJWT Json Web Token

func GetMacAddr

func GetMacAddr() (addr string)

GetMacAddr Hola

func ObtnerIP

func ObtnerIP()

ObtnerIP Direccion Fisica de la maquina

func WGenerarJWT

func WGenerarJWT(u WUsuario) string

WGenerarJWT Json Web Token

Types

type Aplicacion added in v1.0.1

type Aplicacion struct {
	Id         string `json:"id"`
	Nombre     string `json:"nombre"`
	URL        string `json:"url"`
	Origen     string `json:"origen"`
	Comentario string `json:"comentario"`
	Version    string `json:"version"`
	Autor      string `json:"autor"`
	Rol        []Rol  `json:"Rol,omitempty" bson:"rol"`
}

Aplicacion las diferentes aplicaciones del sistema

type FirmaDigital

type FirmaDigital struct {
	DireccionMac string    `json:"direccionmac,omitempty" bson:"direccionmac"`
	DireccionIP  string    `json:"direccionip,omitempty" bson:"direccionip"`
	Tiempo       time.Time `json:"tiempo,omitempty" bson:"tiempo"`
}

FirmaDigital La firma permite identificar una maquina y persona autorizada por el sistema

func (*FirmaDigital) Registrar

func (f *FirmaDigital) Registrar() bool
type Menu struct {
	Url         string       `json:"url,omitempty"`
	Js          string       `json:"js,omitempty"`
	Icono       string       `json:"icono,omitempty"`
	Nombre      string       `json:"nombre,omitempty"`
	Accion      string       `json:"accion,omitempty"`
	Clase       string       `json:"clase,omitempty"`
	Color       string       `json:"color,omitempty"`
	Privilegios []Privilegio `json:"Privilegios,omitempty"`
	SubMenu     []SubMenu    `json:"SubMenu,omitempty"`
}

Menu

type MetodoSeguro

type MetodoSeguro struct {
	Consultar  bool `json:"consultar" bson:"consultar" `
	Insertar   bool `json:"insertar"`
	Actualizar bool `json:"actualizar"`
	Eliminar   bool `json:"eliminar"`
	Crud       bool `json:"crud"`
	CrearSQL   bool `json:"crearsql"`
	Todo       bool `json:"todo"`
	Funcion    bool `json:"funcion"`
}

type Perfil

type Perfil struct {
	Descripcion  string `json:"descripcion,omitempty"`
	Situacion    string `json:"situacion,omitempty" bson:"situacion"` //PM - PC
	Sucursal     string `json:"sucursal,omitempty" bson:"sucursal"`
	Departamento string `json:"departamento,omitempty" bson:"departamento"`
	Direccion    string `json:"direccion,omitempty" bson:"direccion"`
	Telefono     string `json:"telefono,omitempty" bson:"telefono"`
	Cargo        string `json:"cargo,omitempty" bson:"cargo"`
}

Perfil

type Privilegio

type Privilegio struct {
	Metodo      string `json:"nombre"`
	Descripcion string `json:"descripcion"`
	Accion      string `json:"accion"`
	Directiva   string `json:"directiva"`
}

Privilegio

type Reclamaciones

type Reclamaciones struct {
	Usuario Usuario `json:"Usuario" bson:"usuario"`
	Rol     Rol     `json:"Rol" bson:"Rol"`
	jwt.StandardClaims
}

type RespuestaToken

type RespuestaToken struct {
	Token string `json:"token"`
}

type Rol

type Rol struct {
	Descripcion string `json:"descripcion" bson:"descipcion"`
	Menu        []Menu `json:"Menu,omitempty"`
}

type Session

type Session struct {
	Nombre string
	Acceso string
	Nivel  int
}

Session Seccion de acceso

func (*Session) Crear

func (S *Session) Crear(w http.ResponseWriter, r *http.Request)

Crear conexion y variables

type SubMenu struct {
	Url         string       `json:"url,omitempty"`
	Js          string       `json:"js,omitempty"`
	Icono       string       `json:"icono,omitempty"`
	Nombre      string       `json:"nombre,omitempty"`
	Accion      string       `json:"accion,omitempty"`
	Clase       string       `json:"clase,omitempty"`
	Color       string       `json:"color,omitempty"`
	Privilegios []Privilegio `json:"Privilegios,omitempty"`
}

SubMenu

type Usuario

type Usuario struct {
	ID            string       `json:"id" bson:"_id"`
	Cedula        string       `json:"cedula" bson:"cedula"`
	Nombre        string       `json:"nombre" bson:"nombre"`
	Login         string       `json:"usuario" bson:"login"`
	Correo        string       `json:"correo" bson:"correo"`
	Clave         string       `json:"clave,omitempty" bson:"clave"`
	FechaCreacion time.Time    `json:"fechacreacion,omitempty" bson:"fechacreacion"`
	Estatus       int          `json:"estatus" bson:"estatus"`
	Token         string       `json:"token,omitempty" bson:"token"`
	Perfil        Perfil       `json:"Perfil,omitempty" bson:"perfil"`
	FirmaDigital  FirmaDigital `json:"FirmaDigital,omitempty" bson:"firmadigital"`
	Aplicacion    []Aplicacion `json:"Aplicaion,omitempty" bson:"aplicaion"`
}

Usuario del Sistema

func (*Usuario) CambiarClave

func (usr *Usuario) CambiarClave(login string, clave string, nueva string) (err error)

CambiarClave Usuarios

func (*Usuario) Consultar

func (usr *Usuario) Consultar(cedula string) (j []byte, err error)

Consultar el sistema de usuarios

func (*Usuario) Listar

func (usr *Usuario) Listar() (j []byte, err error)

Listar el sistema de usuarios

func (*Usuario) Salvar

func (usr *Usuario) Salvar() (err error)

Salvar Metodo para crear usuarios del sistema

func (*Usuario) Validar

func (usr *Usuario) Validar(login string, clave string) (err error)

Validar Usuarios

type WCausante

type WCausante struct {
	Cedula     string `json:"cedula" bson:"cedula"`
	Nombre     string `json:"nombre" bson:"nombre"`
	Apellido   string `json:"apellido" bson:"apellido"`
	Componente string `json:"componente" bson:"componente"`
	Grado      string `json:"grado" bson:"grado"`
}

WFamiliar Control de familiares para asignaciones

type WReclamaciones

type WReclamaciones struct {
	WUsuario WUsuario `json:"WUsuario" bson:"wusuario"`
	Rol      Rol      `json:"Rol" bson:"Rol"`
	jwt.StandardClaims
}

type WUsuario

type WUsuario struct {
	ID            string       `json:"id,omitempty" bson:"id"`
	Cedula        string       `json:"cedula" bson:"cedula"`
	Nombre        string       `json:"nombre" bson:"nombre"`
	Apellido      string       `json:"apellido" bson:"apellido"`
	Causante      []WCausante  `json:"causante,omitempty" bson:"causante"`
	Login         string       `json:"usuario" bson:"login"`
	Clave         string       `json:"clave,omitempty" bson:"clave"`
	Correo        string       `json:"correo" bson:"correo"`
	FechaCreacion time.Time    `json:"fechacreacion,omitempty" bson:"fechacreacion"`
	Estatus       int          `json:"estatus" bson:"estatus"`
	Situacion     string       `json:"situacion,omitempty" bson:"situacion"`   //PM - PC
	Parentesco    string       `json:"parentesco,omitempty" bson:"parentesco"` //TIT EA HJ
	Componente    string       `json:"componente" bson:"componente"`
	Sexo          string       `json:"sexo" bson:"sexo"`
	Grado         string       `json:"grado" bson:"grado"`
	Rol           Rol          `json:"Roles,omitempty" bson:"roles"`
	Token         string       `json:"token,omitempty" bson:"token"`
	Perfil        Perfil       `json:"Perfil,omitempty" bson:"perfil"`
	FirmaDigital  FirmaDigital `json:"FirmaDigital,omitempty" bson:"firmadigital"`
	Telefono      string       `json:"telefono,omitempty" bson:"telefono"`
	Titular       bool         `json:"titular,omitempty" bson:"titular"`
	Sobreviviente bool         `json:"sobreviviente,omitempty" bson:"sobreviviente"`
	Empleado      bool         `json:"empleado,omitempty" bson:"empleado"`
}

WUsuario del Sistema

func (*WUsuario) CambiarClave

func (u *WUsuario) CambiarClave(login string, clave string, nueva string) (err error)

CambiarClave Usuarios

func (*WUsuario) Existe

func (u *WUsuario) Existe(login string) (err error)

Existe Validacion de Usuarios

func (*WUsuario) Validar

func (u *WUsuario) Validar(login string, clave string) (err error)

Validar Validacion de Usuarios

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL