jdysya b24dee2ef9 feat(auth): 实现首页路由的认证逻辑并优化静态资源服务
- 在客户端添加首页路由的认证逻辑,提高用户体验
- 优化静态资源服务配置,增强安全性
- 添加 URL 解析和保存功能,为后续的路由认证做准备
- 调整中间件顺序和配置,提升应用性能和安全性
2025-02-16 21:46:23 +08:00

43 lines
788 B
Go

package config
import (
"encoding/json"
"os"
"path/filepath"
)
// URLConfig 存储所有URL配置
type URLConfig struct {
URLs []string `json:"urls"`
}
// SaveURLsToFile 将URLs保存到文件
func SaveURLsToFile(urls []string, filename string) error {
config := URLConfig{
URLs: urls,
}
data, err := json.MarshalIndent(config, "", " ")
if err != nil {
return err
}
return os.WriteFile(filename, data, 0644)
}
// GetProtectedURLs 从文件中读取需要保护的URLs
func GetProtectedURLs() ([]string, error) {
configPath := filepath.Join("config", "urls.json")
data, err := os.ReadFile(configPath)
if err != nil {
return nil, err
}
var config URLConfig
if err := json.Unmarshal(data, &config); err != nil {
return nil, err
}
return config.URLs, nil
}