package SsoUtil import ( "dsTools/Utils/AesUtil" "dsTools/Utils/ConfigUtil" "encoding/base64" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" "strconv" "strings" ) /** 功能:解析SessionId的内容,换算出设备,身份和人员ID 作者:黄海 时间:2020-02-25 */ func AnalyzeSessionId(encodeString string) (string, string, string) { var identityId = -1 var personId = -1 var deviceId = -1 //解base64 sessionId,err :=base64.RawURLEncoding.DecodeString(encodeString) if err != nil { return "","","" } //解密 r, err := AesUtil.Decrypt(string(sessionId)) if err != nil { logrus.Errorln(err) } else { s := r array := strings.Split(s, "_") if len(array) > 1 { identityId, _ = strconv.Atoi(array[0]) personId, _ = strconv.Atoi(array[1]) deviceId, _ = strconv.Atoi(array[2]) } } return strconv.Itoa(identityId), strconv.Itoa(personId),strconv.Itoa(deviceId) } /** 功能:读取统一认证的cookie值 作者:黄海 时间:2020-02-22 */ func ReadSsoCookie(c *gin.Context) string { cookie, e := c.Request.Cookie(ConfigUtil.AccessToken) if e == nil { return cookie.Value } else { return "" } } /** 功能:删除统一认证的cookie信息 作者:黄海 时间:2020-02-22 */ func deleteSsoCookie(c *gin.Context) { c.SetCookie(ConfigUtil.AccessToken, "", -1, "/", "", false, true) }