47 lines
927 B
Go
47 lines
927 B
Go
package config
|
|
|
|
import "time"
|
|
|
|
// ExampleConfig 範例配置
|
|
func ExampleConfig() Config {
|
|
return Config{
|
|
Database: DatabaseConfig{
|
|
Host: "localhost",
|
|
Port: 3306,
|
|
Username: "root",
|
|
Password: "password",
|
|
Database: "permission",
|
|
MaxIdle: 10,
|
|
MaxOpen: 100,
|
|
},
|
|
Redis: RedisConfig{
|
|
Host: "localhost",
|
|
Port: 6379,
|
|
Password: "",
|
|
DB: 0,
|
|
|
|
// 快取 TTL 設定
|
|
PermissionTreeTTL: 10 * time.Minute,
|
|
UserPermissionTTL: 5 * time.Minute,
|
|
RolePolicyTTL: 10 * time.Minute,
|
|
},
|
|
RBAC: RBACConfig{
|
|
ModelPath: "./rbac_model.conf",
|
|
SyncPeriod: 30 * time.Second,
|
|
EnableCache: true,
|
|
},
|
|
Role: RoleConfig{
|
|
// 角色 UID 配置 (可自訂)
|
|
UIDPrefix: "RL", // 或 "AM", "ROLE"
|
|
UIDLength: 6, // RL000001
|
|
|
|
// 管理員配置
|
|
AdminRoleUID: "RL000000",
|
|
AdminUserUID: "U0000000",
|
|
|
|
// 預設角色
|
|
DefaultRoleName: "user",
|
|
},
|
|
}
|
|
}
|