增加session验证
This commit is contained in:
19
main.go
19
main.go
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user