forked from x/ContextOS
fix cas bug
Change-Id: I19e64b3fabe47b74c0c5653c31815742ad69003e
This commit is contained in:
parent
61e8c06634
commit
bdc46d5869
@ -111,11 +111,12 @@ var Index = &ctx.Context{Name: "cli", Help: "管理中心",
|
|||||||
":": []string{"command"},
|
":": []string{"command"},
|
||||||
"::": []string{"command", "list"},
|
"::": []string{"command", "list"},
|
||||||
|
|
||||||
"pwd": []string{"nfs.pwd"},
|
"pwd": []string{"nfs.pwd"},
|
||||||
"path": []string{"nfs.path"},
|
"path": []string{"nfs.path"},
|
||||||
"dir": []string{"nfs.dir"},
|
"dir": []string{"nfs.dir"},
|
||||||
"git": []string{"nfs.git"},
|
"git": []string{"nfs.git"},
|
||||||
"brow": []string{"web.brow"},
|
"brow": []string{"web.brow"},
|
||||||
|
"ifconfig": []string{"tcp.ifconfig"},
|
||||||
}, Help: "启动脚本"},
|
}, Help: "启动脚本"},
|
||||||
|
|
||||||
"time_unit": &ctx.Config{Name: "time_unit", Value: "1000", Help: "时间倍数"},
|
"time_unit": &ctx.Config{Name: "time_unit", Value: "1000", Help: "时间倍数"},
|
||||||
|
@ -779,7 +779,7 @@ var Index = &Context{Name: "ctx", Help: "模块中心", Server: &CTX{},
|
|||||||
}
|
}
|
||||||
list = append(list, args...)
|
list = append(list, args...)
|
||||||
|
|
||||||
msg := cmd.Sess("cli").Cmd("source", strings.Join(list, " "))
|
msg := cmd.Sess("cli").Set("option", "current_ctx", m.target.Name).Cmd("source", strings.Join(list, " "))
|
||||||
cmd.Copy(msg, "append").Copy(msg, "result").Copy(msg, "target")
|
cmd.Copy(msg, "append").Copy(msg, "result").Copy(msg, "target")
|
||||||
return
|
return
|
||||||
}}
|
}}
|
||||||
|
@ -90,8 +90,8 @@ func (c *Context) Begin(m *Message, arg ...string) *Context {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module := c.Name
|
module := c.Name
|
||||||
if c.context != nil {
|
if c.context != nil && c.context.Caches != nil && c.context.Caches["module"] != nil {
|
||||||
module = c.context.Name + "." + c.Name
|
module = c.context.Caches["module"].Value + "." + c.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Caches["module"] = &Cache{Name: "module", Value: module, Help: "模块域名"}
|
c.Caches["module"] = &Cache{Name: "module", Value: module, Help: "模块域名"}
|
||||||
@ -1492,6 +1492,14 @@ func (m *Message) Confm(key string, args ...interface{}) map[string]interface{}
|
|||||||
fun(k, val)
|
fun(k, val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
case func(string, map[string]interface{}) bool:
|
||||||
|
for k, v := range value {
|
||||||
|
if val, ok := v.(map[string]interface{}); ok {
|
||||||
|
if fun(k, val) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
case func(int, map[string]interface{}):
|
case func(int, map[string]interface{}):
|
||||||
for i, v := range table {
|
for i, v := range table {
|
||||||
if val, ok := v.(map[string]interface{}); ok {
|
if val, ok := v.(map[string]interface{}); ok {
|
||||||
|
@ -111,23 +111,18 @@ var Index = &ctx.Context{Name: "ssh", Help: "集群中心",
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
m.Log("fuck", "what %v", node.Meta)
|
|
||||||
// 主机路由
|
// 主机路由
|
||||||
m.Conf("runtime", "node.route", node.Append("node.route")+"."+node.Result(0))
|
m.Conf("runtime", "node.route", node.Append("node.route")+"."+node.Result(0))
|
||||||
if !m.Confs("runtime", "user.route") {
|
if !m.Confs("runtime", "user.route") {
|
||||||
if m.Confs("runtime", "user.cert") && m.Confs("runtime", "user.key") {
|
if m.Confs("runtime", "user.cert") && m.Confs("runtime", "user.key") {
|
||||||
m.Cmd("ssh.share", "root", m.Conf("runtime", "node.route"))
|
m.Cmd("ssh.share", "root", m.Conf("runtime", "node.route"))
|
||||||
m.Log("fuck", "what %v", 123)
|
|
||||||
m.Log("fuck", "what %v", node.Meta)
|
|
||||||
if !node.Appends("user.route") {
|
|
||||||
m.Log("fuck", "what %v", 123)
|
|
||||||
m.Cmd("ssh.share", node.Append("node.route"), "root", m.Conf("runtime", "node.route"))
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if node.Appends("user.route") {
|
} else if node.Appends("user.route") {
|
||||||
m.Cmd("ssh.share", "root", node.Append("user.route"))
|
m.Cmd("ssh.share", "root", node.Append("user.route"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if !node.Appends("user.route") {
|
||||||
|
m.Cmd("ssh.share", node.Append("node.route"), "root", m.Conf("runtime", "node.route"))
|
||||||
|
}
|
||||||
|
|
||||||
// 默认节点
|
// 默认节点
|
||||||
if !m.Confs("current") {
|
if !m.Confs("current") {
|
||||||
@ -426,7 +421,9 @@ var Index = &ctx.Context{Name: "ssh", Help: "集群中心",
|
|||||||
m.Cmd("aaa.auth", "proxy")
|
m.Cmd("aaa.auth", "proxy")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.Cmd("aaa.auth", "proxy", arg[0])
|
if !m.Cmds("aaa.auth", "proxy", arg[0], "session") {
|
||||||
|
m.Cmd("aaa.sess", "proxy", "proxy", arg[0])
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}},
|
}},
|
||||||
"login": &ctx.Command{Name: "login client.route", Help: "用户节点", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) (e error) {
|
"login": &ctx.Command{Name: "login client.route", Help: "用户节点", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) (e error) {
|
||||||
@ -489,6 +486,15 @@ var Index = &ctx.Context{Name: "ssh", Help: "集群中心",
|
|||||||
} else if m.Confm("node", arg[0]) != nil {
|
} else if m.Confm("node", arg[0]) != nil {
|
||||||
m.Conf("current", arg[0])
|
m.Conf("current", arg[0])
|
||||||
arg = arg[1:]
|
arg = arg[1:]
|
||||||
|
} else {
|
||||||
|
m.Confm("node", func(name string, node map[string]interface{}) bool {
|
||||||
|
if strings.Contains(name, arg[0]) {
|
||||||
|
m.Conf("current", name)
|
||||||
|
arg = arg[1:]
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := m.Cmd("ssh.remote", m.Conf("current"), arg)
|
msg := m.Cmd("ssh.remote", m.Conf("current"), arg)
|
||||||
|
@ -95,6 +95,7 @@ func (web *WEB) Login(msg *ctx.Message, w http.ResponseWriter, r *http.Request)
|
|||||||
if msg.Confs("login", "cas_url") && !msg.Confs("login", "skip_cas") {
|
if msg.Confs("login", "cas_url") && !msg.Confs("login", "skip_cas") {
|
||||||
if !cas.IsAuthenticated(r) {
|
if !cas.IsAuthenticated(r) {
|
||||||
r.URL, _ = r.URL.Parse(r.Header.Get("index_url"))
|
r.URL, _ = r.URL.Parse(r.Header.Get("index_url"))
|
||||||
|
msg.Log("info", "cas_login %v %v", r.URL, msg.Conf("login", "cas_url"))
|
||||||
cas.RedirectToLogin(w, r)
|
cas.RedirectToLogin(w, r)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -105,6 +106,7 @@ func (web *WEB) Login(msg *ctx.Message, w http.ResponseWriter, r *http.Request)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msg.Log("info", "cas_login %v", msg.Option("ticket"))
|
||||||
if msg.Options("ticket") {
|
if msg.Options("ticket") {
|
||||||
msg.Option("uuid", msg.Option(msg.Conf("login", "cas_uuid")))
|
msg.Option("uuid", msg.Option(msg.Conf("login", "cas_uuid")))
|
||||||
msg.Option("username", cas.Username(r))
|
msg.Option("username", cas.Username(r))
|
||||||
@ -319,6 +321,7 @@ func (web *WEB) Start(m *ctx.Message, arg ...string) bool {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// SSO认证
|
// SSO认证
|
||||||
|
m.Log("info", "web: %s", m.Conf("login", "cas_url"))
|
||||||
var handler http.Handler
|
var handler http.Handler
|
||||||
if cas_url, e := url.Parse(m.Conf("login", "cas_url")); e == nil && m.Confs("login", "cas_url") {
|
if cas_url, e := url.Parse(m.Conf("login", "cas_url")); e == nil && m.Confs("login", "cas_url") {
|
||||||
m.Log("info", "cas url: %s", m.Conf("login", "cas_url"))
|
m.Log("info", "cas url: %s", m.Conf("login", "cas_url"))
|
||||||
@ -328,6 +331,7 @@ func (web *WEB) Start(m *ctx.Message, arg ...string) bool {
|
|||||||
handler = web
|
handler = web
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m.Log("info", "web: %s", m.Cap("address"))
|
||||||
// 启动服务
|
// 启动服务
|
||||||
web.Server = &http.Server{Addr: m.Cap("address"), Handler: handler}
|
web.Server = &http.Server{Addr: m.Cap("address"), Handler: handler}
|
||||||
if m.Caps("master", true); m.Cap("protocol") == "https" {
|
if m.Caps("master", true); m.Cap("protocol") == "https" {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user