Esta actualización:
1. actualización gf a V1.12.1
2. unen al soporte global intercepción, fácil de ajustar el orden de ejecución de la certificación y otro middleware
// 启动gtoken
gtoken := >oken.GfToken{
LoginPath: "/login",
LoginBeforeFunc: loginFunc,
LogoutPath: "/user/logout",
AuthPaths: g.SliceStr{"/user", "/system"}, // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
GlobalMiddleware: true, // 开启全局拦截,默认关闭
}
gtoken.Start()
gtoken Introducción
marco plug-gf símbolo basado, implementado por el servidor de autenticación token de autenticación; ya es totalmente compatible con token de autenticación en línea, y el soporte para el modo de agrupamiento; fácil de usar, usted puede estar seguro;
- soportes Gcache autónomo y clúster modo Gredis;
# 配置文件
# 缓存模式 1 gcache 2 gredis
cache-mode = 2
- Es compatible con token de autenticación sencilla
- característica de renovación automática añadido el almacenamiento en caché
// 注:通过MaxRefresh,默认当用户第五天访问时,自动再进行五天续期
// 超时时间 默认10天
Timeout int
// 缓存刷新时间 默认为超时时间的一半
MaxRefresh int
- Apoyar intercepción global o la profundidad interceptación de la trayectoria, los interceptores fácilmente personalizable con base en las necesidades individuales
// 是否是全局认证
GlobalMiddleware bool
- Usando marco sencillo, solamente entrar método de autenticación y de inicio de sesión, cierre de sesión, el camino a la intervención;
- github Dirección: https://github.com/goflyfox/gtoken
- gitee Dirección: https://gitee.com/goflyfox/gtoken
ventaja gtoken
- Jwt evitar efectivamente el servidor problema no puede dejar de fumar;
- Usted no puede resolver invalid token JWT ha sido emitido;
- información del usuario ampliada todavía se almacena en el servidor, puede reducir efectivamente el espacio de transmisión;
- aplicaciones de un solo punto de apoyo gtoken utilizan almacenamiento de la memoria, también es compatible con el uso de almacenamiento de clúster redis;
- Soportes de almacenamiento en caché de renovación automática y no requiere que el cliente para lograr;
Tutorial de instalación
- gopath modo:
go get github.com/goflyfox/gtoken
- O añadir el uso de go.mod:
require github.com/goflyfox/gtoken latest
instrucciones
Sólo es necesario configurar la ruta de inicio de sesión, la ruta de salida, bloqueando el camino e inicie sesión en lograr la paridad
// Inicio gtoken gtoken : = . Y Gtoken GfToken { LOGINPATH : " / login " , LoginBeforeFunc : loginFunc, LogoutPath : " / / Zimbabwe Salida del usuario " , AuthPaths :. G SliceStr { " / usuario " , " / System " }, // esto está de acuerdo con la interceptación de prefijo, la interceptación / la usuario / la usuario / Lista / la usuario / Agregar ... GlobalMiddleware : true , // abierta de interceptación mundial desactivada por defecto } gtoken. Start ()
Implementación del método de inicio de sesión
func Login ( r * ghttp . Request () cadena , la interfaz {}) { nombre de usuario : = r. GetPostString ( " nombre de usuario " ) passwd : = r. GetPostString ( " passwd " ) // TODO进行登录校验retorno nombre de usuario, " " }
prueba de la lógica
Api_test.go pruebas ejecutar y ver los resultados; validación lógica Descripción:
- El acceso a la información del usuario, consejos no llevan símbolo
- Una vez iniciada la sesión, llevar a token de acceso normales
- Salir con éxito
- Antes de realizar la visita modo, lo que sugiere que los no registrados
--- PASS: TestSystemUser ( 0.00 s) api_test.go: 43 : 1 . No inicio de sesión y la visita del usuario api_test.go: 50 : { " código " : -1 , " datos " : " " , " msg " : " consulta símbolo fallar " } api_test.go: 63 : 2 . ejecutar de inicio de sesión y la visita del usuario api_test.go: 66 : { " código " : 0 , "" : " Éxito " " datos " : " usuario del sistema " } api_test.go: 72 : 3 . Ejecutar cierre de sesión api_test.go: 75 : { " código " : 0 , " msg " : " éxito " " datos " : " el éxito de cierre de sesión " } api_test.go: 81 : 4 . api_test.go: 86: { " Código " : -1 , " msg " : " tiempo de espera de entrada o no entrada " , " datos " : " " }
gracias
- gf marco https://github.com/gogf/gf