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