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
- Variables
- func GenerarJWT(u Usuario) string
- func GetMacAddr() (addr string)
- func ObtnerIP()
- func WGenerarJWT(u WUsuario) string
- type Aplicacion
- type FirmaDigital
- type Menu
- type MetodoSeguro
- type Perfil
- type Privilegio
- type Reclamaciones
- type RespuestaToken
- type Rol
- type Session
- type SubMenu
- type Usuario
- func (usr *Usuario) CambiarClave(login string, clave string, nueva string) (err error)
- func (usr *Usuario) Consultar(cedula string) (j []byte, err error)
- func (usr *Usuario) Listar() (j []byte, err error)
- func (usr *Usuario) Salvar() (err error)
- func (usr *Usuario) Validar(login string, clave string) (err error)
- type WCausante
- type WReclamaciones
- type WUsuario
Constants ¶
const ( ENCRIPTAMIENTO = "md5" ACTIVARLIMITECONEXIONES = true DESACTIVARLIMITECONEXIONES = false )
Constantes Generales
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 ¶
var ( LlavePrivada *rsa.PrivateKey LlavePublica *rsa.PublicKey LlaveJWT string )
Variables de Seguridad
var Stores = sessions.NewCookieStore([]byte("#za63qj2p-6pt33pSUz#"))
Stores resultados
Functions ¶
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 ¶
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 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 SubMenu ¶
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 ¶
CambiarClave 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 ¶
CambiarClave Usuarios