forked from golang/hotime
增加权限管理
This commit is contained in:
parent
b015e78fa0
commit
9cfdfbac78
76
code.go
76
code.go
@ -550,80 +550,4 @@ var TptProject = Proj{
|
||||
that.Display(0, config)
|
||||
},
|
||||
},
|
||||
"auth": {
|
||||
//权限操作
|
||||
"info": func(that *Context) {
|
||||
//不存在配置文件则生成,存在则不管
|
||||
hotimeName := that.RouterString[0]
|
||||
fileConfig := that.MakeCodeRouter[hotimeName].FileConfig
|
||||
btes, err := ioutil.ReadFile(fileConfig.GetString("config"))
|
||||
|
||||
if err != nil {
|
||||
that.Display(4, "找不到配置文件")
|
||||
}
|
||||
|
||||
conf := ObjToMap(string(btes))
|
||||
menus := conf.GetSlice("menus")
|
||||
|
||||
user := that.Db.Get(fileConfig.GetString("table"), "*", Map{"id": fileConfig.GetString("table") + "_id"})
|
||||
|
||||
if user == nil {
|
||||
that.Display(2, "暂未登录")
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range that.MakeCodeRouter[hotimeName].TableColumns[fileConfig.GetString("table")] {
|
||||
if v.GetString("link") != "" {
|
||||
linkHasAuth := that.MakeCodeRouter[hotimeName].TableColumns[v.GetString("link")]["auth"]
|
||||
if linkHasAuth == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
linkAuthMap := that.Db.Get(v.GetString("link"), "auth", Map{"id": user.GetCeilInt(v.GetString("name"))})
|
||||
linkAuth := linkAuthMap.GetMap("auth")
|
||||
|
||||
for k1, _ := range menus {
|
||||
v1 := menus.GetMap(k1)
|
||||
if linkAuth[v1.GetString("name")] != nil {
|
||||
v1["auth"] = linkAuth[v1.GetString("name")]
|
||||
}
|
||||
|
||||
for k2, _ := range v1.GetSlice("menus") {
|
||||
v2 := menus.GetMap(k2)
|
||||
if linkAuth[v2.GetString("name")] != nil {
|
||||
v2["auth"] = linkAuth[v2.GetString("name")]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
userAuth := user.GetMap("auth")
|
||||
for k1, _ := range menus {
|
||||
v1 := menus.GetMap(k1)
|
||||
if userAuth[v1.GetString("name")] != nil {
|
||||
v1["auth"] = userAuth[v1.GetString("name")]
|
||||
}
|
||||
|
||||
for k2, _ := range v1.GetSlice("menus") {
|
||||
v2 := menus.GetMap(k2)
|
||||
if userAuth[v2.GetString("name")] != nil {
|
||||
v2["auth"] = userAuth[v2.GetString("name")]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
that.Display(0, menus)
|
||||
|
||||
},
|
||||
//权限操作
|
||||
"reset": func(that *Context) {
|
||||
|
||||
},
|
||||
//权限操作
|
||||
"update": func(that *Context) {
|
||||
|
||||
},
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user