iris当中session的使用

未匹配的标注

代码里面都注释好了

package main

import (
    "github.com/kataras/iris"
    "github.com/kataras/iris/context"
    "github.com/kataras/iris/sessions"
)

var (
    USERNAME = "userName"
    ISLOGIN = "isLogin"
)

func main(){
    app := iris.New()
    sessionID := "mySession"
    //创建session并进行使用 返回的是sessions
    sess := sessions.New(sessions.Config{
        Cookie:                      sessionID,
    })

    //用户登录
    app.Post("/login", func(context context.Context) {
        path := context.Path()
        app.Logger().Info("请求路径",path)
        userName := context.PostValue("name")
        passwd := context.PostValue("pwd")
         if userName == "huxiaobai" && passwd == "123"{
              //创建session实例
             session := sess.Start(context)
             //往session当中存入用户名称
             session.Set(USERNAME,userName)
             //往session当中存入登录状态
             session.Set(ISLOGIN,true)

             //all := session.GetAll()
             context.WriteString("账户登录成功!")
         }else{
             session := sess.Start(context)
             session.Set(ISLOGIN,false)
             context.WriteString("账户登录失败,请重新尝试!")
         }


    })

    //用户退出登录
    app.Get("/logout", func(context context.Context) {
        path := context.Path()
        app.Logger().Info("退出登录 path:" + path)
        //创建session实例
        session := sess.Start(context)
        //删除session里面的值
        session.Delete(ISLOGIN)
        session.Delete(USERNAME)

        context.WriteString("退出登录成功!")
    })

    //执行验证
    app.Get("/query", func(context context.Context) {
        path := context.Path()
        app.Logger().Info("查询信息path"+path)

        //创建session实例
        session := sess.Start(context)
        //获取session里面的值
            //String:字符串类型
            //session.GetString()
            //Int:无符号整形 及系列相关单位的同类型
            //session.GetInt()
            //Boolean:布尔值类型
            //session.GetBoolean()
            //Float:单精度数值类型 及系列相关单位的同类型
            //session.GetFloat()
            //interface{}:接口 即任意数据结构类型
            //session.GetFlash()
        isLogin,err := session.GetBoolean(ISLOGIN)
        if err != nil {
            context.WriteString("账户未登录,请先登录")
            return
        }
        if isLogin {
            app.Logger().Info("账户已经登录!")
            context.WriteString("账户已经登录!")
        } else {
            app.Logger().Info("账户未登录!")
            context.WriteString("账户未登录!")
        }
    })

    app.Run(iris.Addr(":8015"),iris.WithoutServerError(iris.ErrServerClosed))
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~