将token加密key配置抽离到配置文件
This commit is contained in:
parent
c276c389b1
commit
4b6e3ad881
4
.gitignore
vendored
4
.gitignore
vendored
@ -4,7 +4,9 @@
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
|
||||
.idea
|
||||
ssh_manage_linux.zip
|
||||
ssh_manage_windows.zip
|
||||
# Test binary, built with `go test -c`
|
||||
*.test
|
||||
|
||||
|
||||
@ -2,10 +2,17 @@ package common
|
||||
|
||||
import (
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"ssh_manage/config"
|
||||
"time"
|
||||
)
|
||||
|
||||
var jwt_ket = []byte("ss_jwt_token")
|
||||
func init() {
|
||||
if config.Config.Jwt.Key == "ss_jwt_token" {
|
||||
panic("请先修改Jwt key!")
|
||||
}
|
||||
}
|
||||
|
||||
var jwt_ket = []byte(config.Config.Jwt.Key)
|
||||
|
||||
type Claims struct {
|
||||
Userid uint
|
||||
|
||||
@ -36,14 +36,14 @@ type MyClient struct {
|
||||
}
|
||||
|
||||
type clients struct {
|
||||
sync.RWMutex
|
||||
*sync.RWMutex
|
||||
C map[string]*MyClient
|
||||
}
|
||||
|
||||
var Client clients
|
||||
|
||||
func init() {
|
||||
Client = clients{C: make(map[string]*MyClient, 1000)}
|
||||
Client = clients{new(sync.RWMutex),make(map[string]*MyClient)}
|
||||
}
|
||||
|
||||
func (c *MyClient) ReceiveWsMsg(wsConn *websocket.Conn, exitCh chan bool) {
|
||||
|
||||
@ -17,8 +17,11 @@ port = 6379
|
||||
password = "" #没有则不填
|
||||
poolsize = 10 #Redis连接池大小
|
||||
|
||||
[Alisms]
|
||||
[Alisms] #阿里云短信配置
|
||||
accessid = "—"
|
||||
accesskey = "-"
|
||||
signname = "-" #短信签名
|
||||
template = "-" #模板代码
|
||||
|
||||
[Jwt]
|
||||
key = "ss_jwt_token"
|
||||
@ -11,6 +11,11 @@ type config struct {
|
||||
Database *database
|
||||
Redis *redis
|
||||
Alisms *alisms
|
||||
Jwt *jwtInfo
|
||||
}
|
||||
|
||||
type jwtInfo struct {
|
||||
Key string
|
||||
}
|
||||
|
||||
type alisms struct {
|
||||
|
||||
@ -11,16 +11,16 @@ import (
|
||||
|
||||
func Addser(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
new_token := c.MustGet("token").(string)
|
||||
if new_token != "" { //更新Token逻辑
|
||||
resp.Token = new_token
|
||||
newToken := c.MustGet("token").(string)
|
||||
if newToken != "" { //更新Token逻辑
|
||||
resp.Token = newToken
|
||||
}
|
||||
uid := c.MustGet("uid").(uint)
|
||||
var info Apiform.Addser
|
||||
resp.Code = errcode.C_from_err
|
||||
resp.Msg = "数据错误"
|
||||
if c.ShouldBind(&info) == nil {
|
||||
if(common.CheckIp(info.Ip)){
|
||||
if common.CheckIp(info.Ip) {
|
||||
db := database.Get()
|
||||
defer db.Close()
|
||||
result := db.DB.Create(&model.Server{Ip: info.Ip,Port: info.Port,Username: info.Username,Password: info.Password,Nickname: info.Nickname,BindUser: uid})
|
||||
|
||||
@ -12,9 +12,9 @@ import (
|
||||
|
||||
func Info(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
new_token := c.MustGet("token").(string)
|
||||
if new_token != "" { //更新Token逻辑
|
||||
resp.Token = new_token
|
||||
newToken := c.MustGet("token").(string)
|
||||
if newToken != "" { //更新Token逻辑
|
||||
resp.Token = newToken
|
||||
}
|
||||
uid := c.MustGet("uid").(uint)
|
||||
var limit Apiform.Slist
|
||||
@ -45,9 +45,9 @@ func Info(c *gin.Context) {
|
||||
func UpdataNick(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
var edit Apiform.Edit
|
||||
new_token := c.MustGet("token").(string)
|
||||
if new_token != "" { //更新Token逻辑
|
||||
resp.Token = new_token
|
||||
newToken := c.MustGet("token").(string)
|
||||
if newToken != "" { //更新Token逻辑
|
||||
resp.Token = newToken
|
||||
}
|
||||
uid := c.MustGet("uid").(uint)
|
||||
//nickname, name_exist := c.GetPostForm("nickname")
|
||||
@ -79,9 +79,9 @@ func UpdataNick(c *gin.Context) {
|
||||
func Resetpass(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
var edit Apiform.EditPass
|
||||
new_token := c.MustGet("token").(string)
|
||||
if new_token != "" { //更新Token逻辑
|
||||
resp.Token = new_token
|
||||
newToken := c.MustGet("token").(string)
|
||||
if newToken != "" { //更新Token逻辑
|
||||
resp.Token = newToken
|
||||
}
|
||||
uid := c.MustGet("uid").(uint)
|
||||
//nickname, name_exist := c.GetPostForm("nickname")
|
||||
@ -113,9 +113,9 @@ func Resetpass(c *gin.Context) {
|
||||
func Del(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
var del Apiform.Edit
|
||||
new_token := c.MustGet("token").(string)
|
||||
if new_token != "" { //更新Token逻辑
|
||||
resp.Token = new_token
|
||||
newToken := c.MustGet("token").(string)
|
||||
if newToken != "" { //更新Token逻辑
|
||||
resp.Token = newToken
|
||||
}
|
||||
uid := c.MustGet("uid").(uint)
|
||||
if c.ShouldBind(&del) == nil {
|
||||
@ -143,9 +143,9 @@ func Del(c *gin.Context) {
|
||||
func GetTerm(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
var term Apiform.GetTerm
|
||||
new_token := c.MustGet("token").(string)
|
||||
if new_token != "" { //更新Token逻辑
|
||||
resp.Token = new_token
|
||||
newToken := c.MustGet("token").(string)
|
||||
if newToken != "" { //更新Token逻辑
|
||||
resp.Token = newToken
|
||||
}
|
||||
uid := c.MustGet("uid").(uint)
|
||||
resp.Code = errcode.C_from_err
|
||||
@ -158,7 +158,7 @@ func GetTerm(c *gin.Context) {
|
||||
defer db.Close()
|
||||
result := db.DB.Model(&model.Server{}).First(&server)
|
||||
if result.RowsAffected == 1 && result.Error == nil {
|
||||
db.DB.Model(&model.Server{}).Where(&server).Update(model.Server{BeforeTime: jtime.JsonTime{time.Now()}})
|
||||
db.DB.Model(&model.Server{}).Where(&server).Update(model.Server{BeforeTime: jtime.JsonTime{Time: time.Now()}})
|
||||
sid, err := term.Decode(server)
|
||||
//log.Println(sid)
|
||||
if err == nil {
|
||||
|
||||
@ -14,18 +14,18 @@ import (
|
||||
func Auth() gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
var resp Apiform.Resp
|
||||
jwt_token := c.GetHeader("Authorization")
|
||||
jwtToken := c.GetHeader("Authorization")
|
||||
//log.Println(jwt_token)
|
||||
//log.Println(strings.HasPrefix(jwt_token, "Bearer "))
|
||||
if jwt_token == "" || !strings.HasPrefix(jwt_token, "Bearer ") {
|
||||
if jwtToken == "" || !strings.HasPrefix(jwtToken, "Bearer ") {
|
||||
resp.Code = errcode.S_auth_fmt_err
|
||||
resp.Msg = "Token不正确"
|
||||
c.JSON(200, resp)
|
||||
c.Abort()
|
||||
return
|
||||
}
|
||||
jwt_token = jwt_token[7:]
|
||||
claims, err := common.ParseToken(jwt_token)
|
||||
jwtToken = jwtToken[7:]
|
||||
claims, err := common.ParseToken(jwtToken)
|
||||
if err != nil {
|
||||
resp.Code = errcode.S_auth_err
|
||||
resp.Msg = "Token错误,请重新登录"
|
||||
@ -41,12 +41,12 @@ func Auth() gin.HandlerFunc {
|
||||
c.Abort()
|
||||
return
|
||||
}
|
||||
var userinfo model.User
|
||||
var userInfo model.User
|
||||
db := database.Get()
|
||||
defer db.Close()
|
||||
userinfo.ID = claims.Userid
|
||||
db.DB.Where(userinfo).First(&userinfo)
|
||||
if userinfo.Phone == 0 {
|
||||
userInfo.ID = claims.Userid
|
||||
db.DB.Where(userInfo).First(&userInfo)
|
||||
if userInfo.Phone == 0 {
|
||||
resp.Code = errcode.S_auth_err
|
||||
resp.Msg = "用户不存在,请重新登录"
|
||||
c.JSON(200, resp)
|
||||
@ -55,9 +55,9 @@ func Auth() gin.HandlerFunc {
|
||||
}
|
||||
c.Set("uid", claims.Userid)
|
||||
c.Set("token", "")
|
||||
new_token, err := common.ReleaseToken(claims.Userid)
|
||||
newToken, err := common.ReleaseToken(claims.Userid)
|
||||
if time.Now().Add(24*time.Hour).Unix() > claims.ExpiresAt { //如果过期时间小于一天,则更新客户端token
|
||||
c.Set("token", new_token)
|
||||
c.Set("token", newToken)
|
||||
}
|
||||
c.Next()
|
||||
}
|
||||
|
||||
@ -7,13 +7,13 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
var redis_conf = config.Config.Redis
|
||||
var redisConf = config.Config.Redis
|
||||
|
||||
var Cache *redigo.Pool
|
||||
|
||||
func init() {
|
||||
var addr = fmt.Sprintf("%s:%d",redis_conf.Host,redis_conf.Port)
|
||||
var password = redis_conf.Password
|
||||
var addr = fmt.Sprintf("%s:%d", redisConf.Host, redisConf.Port)
|
||||
var password = redisConf.Password
|
||||
Cache = poolInitRedis(addr, password)
|
||||
}
|
||||
|
||||
@ -21,7 +21,7 @@ func poolInitRedis(server string, password string) *redigo.Pool {
|
||||
return &redigo.Pool{
|
||||
MaxIdle: 2, //空闲数
|
||||
IdleTimeout: 240 * time.Second,
|
||||
MaxActive: redis_conf.Poolsize, //最大数
|
||||
MaxActive: redisConf.Poolsize, //最大数
|
||||
Dial: func() (redigo.Conn, error) {
|
||||
c, err := redigo.Dial("tcp", server)
|
||||
if err != nil {
|
||||
|
||||
@ -62,8 +62,8 @@ sendmsg_callback = function (result) {
|
||||
}
|
||||
|
||||
|
||||
var countdowns = 120;
|
||||
var button = $('#send');
|
||||
let countdowns = 120;
|
||||
let button = $('#send');
|
||||
|
||||
countdown = function () {
|
||||
setTimeout(function () {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user