123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /*
- * @description:web共用方法
- * @Author: CP
- * @Date: 2020-08-21 11:12:56
- * @FilePath: \construction_management\comm\func_web.go
- */
- package comm
- import (
- "net/http"
- "net"
- )
- // 得到客户端IP地址
- func ClientIP(request *http.Request) string {
- host, _, _ := net.SplitHostPort(request.RemoteAddr)
- return host
- }
- // 跳转URL
- func Redirect(writer http.ResponseWriter, url string) {
- writer.Header().Add("Location", url)
- writer.WriteHeader(http.StatusFound)
- }
- // // 从cookie中得到当前登录的用户
- // func GetLoginUser(request *http.Request) *models.ObjLoginuser {
- // c, err := request.Cookie("lottery_loginuser")
- // if err != nil {
- // return nil
- // }
- // params, err := url.ParseQuery(c.Value)
- // if err != nil {
- // return nil
- // }
- // uid, err := strconv.Atoi(params.Get("uid"))
- // if err != nil || uid < 1 {
- // return nil
- // }
- // // Cookie最长使用时长
- // now, err := strconv.Atoi(params.Get("now"))
- // if err != nil || NowUnix()-now > 86400*30 {
- // return nil
- // }
- // //// IP修改了是不是要重新登录
- // //ip := params.Get("ip")
- // //if ip != ClientIP(request) {
- // // return nil
- // //}
- // // 登录信息
- // loginuser := &models.ObjLoginuser{}
- // loginuser.Uid = uid
- // loginuser.Username = params.Get("username")
- // loginuser.Now = now
- // loginuser.Ip = ClientIP(request)
- // loginuser.Sign = params.Get("sign")
- // if err != nil {
- // log.Println("fuc_web GetLoginUser Unmarshal ", err)
- // return nil
- // }
- // sign := createLoginuserSign(loginuser)
- // if sign != loginuser.Sign {
- // log.Println("fuc_web GetLoginUser createLoginuserSign not sign", sign, loginuser.Sign)
- // return nil
- // }
- // return loginuser
- // }
- // // 将登录的用户信息设置到cookie中
- // func SetLoginuser(writer http.ResponseWriter, loginuser *models.ObjLoginuser) {
- // if loginuser == nil || loginuser.Uid < 1 {
- // c := &http.Cookie{
- // Name: "lottery_loginuser",
- // Value: "",
- // Path: "/",
- // MaxAge: -1,
- // }
- // http.SetCookie(writer, c)
- // return
- // }
- // if loginuser.Sign == "" {
- // loginuser.Sign = createLoginuserSign(loginuser)
- // }
- // params := url.Values{}
- // params.Add("uid", strconv.Itoa(loginuser.Uid))
- // params.Add("username", loginuser.Username)
- // params.Add("now", strconv.Itoa(loginuser.Now))
- // params.Add("ip", loginuser.Ip)
- // params.Add("sign", loginuser.Sign)
- // c := &http.Cookie{
- // Name: "lottery_loginuser",
- // Value: params.Encode(),
- // Path: "/",
- // }
- // http.SetCookie(writer, c)
- // }
- // // 根据登录用户信息生成加密字符串
- // func createLoginuserSign(loginuser *models.ObjLoginuser) string {
- // str := fmt.Sprintf("uid=%d&username=%s&secret=%s", loginuser.Uid, loginuser.Username, conf.CookieSecret)
- // return CreateSign(str)
- // }
|