parent
943c84320c
commit
6f96018223
@ -0,0 +1,15 @@
|
|||||||
|
package middleware
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gin-contrib/sessions"
|
||||||
|
"github.com/gin-contrib/sessions/cookie"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Session 初始化session
|
||||||
|
func Session(secret string) gin.HandlerFunc {
|
||||||
|
store := cookie.NewStore([]byte(secret))
|
||||||
|
//Also set Secure: true if using SSL, you should though
|
||||||
|
store.Options(sessions.Options{HttpOnly: true, MaxAge: 7 * 86400, Path: "/"})
|
||||||
|
return sessions.Sessions("cloudreve-session", store)
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gin-contrib/sessions"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetSession 设置session
|
||||||
|
func SetSession(c *gin.Context, list map[string]interface{}) {
|
||||||
|
s := sessions.Default(c)
|
||||||
|
for key, value := range list {
|
||||||
|
s.Set(key, value)
|
||||||
|
}
|
||||||
|
s.Save()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClearSession 清空session
|
||||||
|
func ClearSession(c *gin.Context) {
|
||||||
|
s := sessions.Default(c)
|
||||||
|
s.Clear()
|
||||||
|
s.Save()
|
||||||
|
}
|
@ -1,28 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"cloudreve/models"
|
|
||||||
"cloudreve/pkg/serializer"
|
|
||||||
"fmt"
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
)
|
|
||||||
|
|
||||||
// UserLoginService 管理用户登录的服务
|
|
||||||
type UserLoginService struct {
|
|
||||||
//TODO 细致调整验证规则
|
|
||||||
UserName string `form:"userName" json:"userName" binding:"required,min=5,max=30"`
|
|
||||||
Password string `form:"Password" json:"Password" binding:"required,min=8,max=40"`
|
|
||||||
CaptchaCode string `form:"captchaCode" json:"captchaCode"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Login 用户登录函数
|
|
||||||
func (service *UserLoginService) Login(c *gin.Context) serializer.Response {
|
|
||||||
siteName := model.GetSettingByName("siteName")
|
|
||||||
basic := model.GetSettingByNames([]string{"siteDes", "siteKeywords"})
|
|
||||||
fmt.Println(basic)
|
|
||||||
return serializer.Response{
|
|
||||||
Code: 0,
|
|
||||||
Msg: siteName,
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in new issue