mirror of
https://shylinux.com/x/ContextOS
synced 2025-04-26 01:04:06 +08:00
vps use aaa.login.save
This commit is contained in:
parent
8f125bbd3a
commit
e052bc16e2
@ -1,9 +1,11 @@
|
||||
login root root
|
||||
source etc/local.shy
|
||||
|
||||
~aaa
|
||||
login load etc/login.txt
|
||||
~file1
|
||||
history load etc/history.txt
|
||||
|
||||
source etc/local.shy
|
||||
|
||||
~shell1
|
||||
alias import nfs
|
||||
alias send send
|
||||
|
@ -113,12 +113,14 @@ func (aaa *AAA) Start(m *ctx.Message, arg ...string) bool { // {{{
|
||||
from := msg.Option("username")
|
||||
m.Log("lark", "%v", msg.Meta["detail"])
|
||||
m.Travel(func(m *ctx.Message, n int) bool {
|
||||
m.Log("fuck", "why-%v=%v", m.Cap("username"), msg.Detail(1))
|
||||
if m.Cap("username") == msg.Detail(1) {
|
||||
m.Log("fuck", "why-%v=%v", m.Cap("username"), msg.Detail(1))
|
||||
m.Confv("lark", strings.Join([]string{from, "-2"}, "."),
|
||||
map[string]interface{}{"time": msg.Time(), "type": "recv", "text": msg.Detail(2)})
|
||||
}
|
||||
return true
|
||||
})
|
||||
}, aaa.Context)
|
||||
}
|
||||
return true
|
||||
}
|
||||
@ -165,7 +167,7 @@ var Index = &ctx.Context{Name: "aaa", Help: "认证中心",
|
||||
"login": &ctx.Command{
|
||||
Name: "login [sessid]|[username password]|[cert certfile]|[pub pubfile]|[key keyfile]|[ip ipstr]|[load|save filename]",
|
||||
Help: "用户登录, sessid: 会话ID, username: 用户名, password: 密码, load: 加载用户信息, save: 保存用户信息, filename: 文件名",
|
||||
Form: map[string]int{"cert": 1, "pub": 1, "key": 1, "ip": 1, "load": 1, "save": 1},
|
||||
Form: map[string]int{"cert": 1, "pub": 1, "key": 1, "ip": 1},
|
||||
Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) {
|
||||
if aaa, ok := m.Target().Server.(*AAA); m.Assert(ok) { // {{{
|
||||
stream := ""
|
||||
@ -213,7 +215,7 @@ var Index = &ctx.Context{Name: "aaa", Help: "认证中心",
|
||||
}
|
||||
|
||||
if stream != "" {
|
||||
m.Start(m.Confx("aaa_name"), m.Confx("aaa_help"), arg[0], "", aaa.Session(arg[0]))
|
||||
m.Start(arg[0], m.Confx("aaa_help"), arg[0], "", aaa.Session(arg[0]))
|
||||
m.Cap("stream", stream)
|
||||
return
|
||||
}
|
||||
@ -245,14 +247,17 @@ var Index = &ctx.Context{Name: "aaa", Help: "认证中心",
|
||||
if f, e := os.Open(arg[1]); m.Assert(e) {
|
||||
for bio := bufio.NewScanner(f); bio.Scan(); {
|
||||
word := strings.SplitN(bio.Text(), ":", 3)
|
||||
m.Spawn().Start(word[0], "用户", word[0], word[1], word[2])
|
||||
msg := m.Spawn()
|
||||
msg.Start(word[0], "用户", word[0], word[1], word[2])
|
||||
msg.Spawn().Cmd("config", "load", fmt.Sprintf("etc/%s.json", word[0]), "lark")
|
||||
}
|
||||
}
|
||||
case "save":
|
||||
if f, e := os.Create(arg[1]); m.Assert(e) {
|
||||
m.Travel(func(m *ctx.Message, i int) bool {
|
||||
if i > 0 {
|
||||
if i > 0 && m.Cap("username") != "root" {
|
||||
f.WriteString(fmt.Sprintf("%s:%s:%s\n", m.Cap("username"), m.Cap("password"), m.Cap("sessid")))
|
||||
m.Spawn().Cmd("config", "save", fmt.Sprintf("etc/%s.json", m.Cap("username")), "lark")
|
||||
}
|
||||
return true
|
||||
})
|
||||
@ -276,7 +281,7 @@ var Index = &ctx.Context{Name: "aaa", Help: "认证中心",
|
||||
}, c)
|
||||
|
||||
if !find {
|
||||
m.Start(m.Confx("aaa_name"), m.Confx("aaa_help"), arg[0], aaa.Password(arg[1]), aaa.Session(arg[0]))
|
||||
m.Start(arg[0], m.Confx("aaa_help"), arg[0], aaa.Password(arg[1]), aaa.Session(arg[0]))
|
||||
m.Cap("stream", arg[0])
|
||||
m.Echo(m.Cap("sessid"))
|
||||
m.Appendv("aaa", m)
|
||||
@ -669,7 +674,11 @@ var Index = &ctx.Context{Name: "aaa", Help: "认证中心",
|
||||
m.Add("append", "friend", k)
|
||||
m.Add("append", "time", val["time"])
|
||||
m.Add("append", "type", val["type"])
|
||||
m.Add("append", "text", val["text"])
|
||||
if val["type"].(string) == "send" {
|
||||
m.Add("append", "text", fmt.Sprintf("<< %v", val["text"]))
|
||||
} else {
|
||||
m.Add("append", "text", fmt.Sprintf(">> %v", val["text"]))
|
||||
}
|
||||
}
|
||||
}
|
||||
case 1:
|
||||
@ -687,7 +696,7 @@ var Index = &ctx.Context{Name: "aaa", Help: "认证中心",
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
}, c)
|
||||
}
|
||||
// }}}
|
||||
}},
|
||||
|
@ -1628,11 +1628,9 @@ func (m *Message) Confv(key string, args ...interface{}) interface{} { // {{{
|
||||
x.Value = args[0]
|
||||
default:
|
||||
for i := 0; i < len(args); i += 2 {
|
||||
m.Log("fuck", "b %v", x.Value)
|
||||
if i < len(args)-1 {
|
||||
x.Value = Chain(m, x.Value, args[i], args[i+1])
|
||||
}
|
||||
m.Log("fuck", "b %v", x.Value)
|
||||
if i == len(args)-2 {
|
||||
return Chain(m, x.Value, args[len(args)-2])
|
||||
}
|
||||
|
@ -1105,8 +1105,8 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
|
||||
} // }}}
|
||||
}},
|
||||
"json": &ctx.Command{Name: "json [key value]...", Help: "生成格式化内容, key: 参数名, value: 参数值", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) {
|
||||
if len(arg) == 1 {
|
||||
data := map[string]interface{}{}
|
||||
if len(arg) == 1 { // {{{
|
||||
var data interface{}
|
||||
e := json.Unmarshal([]byte(arg[0]), &data)
|
||||
m.Assert(e)
|
||||
|
||||
@ -1119,7 +1119,7 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
|
||||
}
|
||||
|
||||
if len(arg) > 1 && arg[0] == "file" {
|
||||
data := map[string]interface{}{}
|
||||
var data interface{}
|
||||
f, e := os.Open(arg[1])
|
||||
m.Assert(e)
|
||||
d := json.NewDecoder(f)
|
||||
@ -1130,7 +1130,8 @@ var Index = &ctx.Context{Name: "nfs", Help: "存储中心",
|
||||
m.Echo(string(buf))
|
||||
return
|
||||
}
|
||||
data := map[string]interface{}{} // {{{
|
||||
|
||||
data := map[string]interface{}{}
|
||||
for _, k := range m.Meta["option"] {
|
||||
if v, ok := m.Data[k]; ok {
|
||||
data[k] = v
|
||||
|
Loading…
x
Reference in New Issue
Block a user