增加session验证

This commit is contained in:
张超
2025-06-13 08:59:01 +08:00
parent 7913a2b381
commit 67c85327ee
8 changed files with 201 additions and 207 deletions

19
main.go
View File

@@ -12,15 +12,16 @@ import (
"gorm.io/gorm"
"github.com/gin-contrib/sessions"
"github.com/gin-contrib/sessions/cookie"
"github.com/gin-gonic/gin"
// 新增Session依赖
)
// @title 个人博客系统API
// @title 个人博客系统
// @version 1.0
// @description 基于Go语言的可定制主题博客系统
func main() {
//读取配置文件
// 1. 初始化配置
conf, err := config.LoadConfig("config.yml")
@@ -28,7 +29,7 @@ func main() {
slog.Error("配置加载失败", "error", err)
os.Exit(1)
}
slog.Info("配置加载成功", "config", conf)
// 2. 初始化日志系统
// if err := logger.Initialize(cfg.Log); err != nil {
// slog.Error("日志初始化失败", "error", err)
@@ -37,6 +38,7 @@ func main() {
// defer logger.Flush()
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
slog.SetDefault(logger)
slog.SetLogLoggerLevel(slog.LevelDebug)
// 3. 初始化数据库
models.InitDatabase(conf)
@@ -61,6 +63,13 @@ func main() {
router := gin.Default()
themeManager.RegisterStaticRoutes(router)
// 初始化Session存储使用Cookie
store := cookie.NewStore([]byte("your-session-secret")) // 建议从配置文件读取密钥
store.Options(sessions.Options{
Path: "/",
MaxAge: 86400 * 7, // 7天
HttpOnly: true,
})
// 6. 注册中间件
router.Use(
loggerMiddleware(),
@@ -69,6 +78,7 @@ func main() {
databaseMiddleware(models.DB),
//configMiddleware(cfg),
themeMiddleware(themeManager),
sessions.Sessions("blog-session", store),
)
// 7. 设置模板路径
@@ -76,6 +86,7 @@ func main() {
// 8. 注册路由
routers.RegisterRoutes(router)
// 9. 启动服务
router.Run(":" + conf.Server.Port)
}