增加"edge-admin security.reset"命令来使用命令行重置安全设置

This commit is contained in:
GoEdgeLab
2024-04-08 11:38:04 +08:00
parent 1efe256cbd
commit 900dbad528
3 changed files with 22 additions and 4 deletions

View File

@@ -41,7 +41,8 @@ func main() {
Option("dev", "switch to 'dev' mode"). Option("dev", "switch to 'dev' mode").
Option("prod", "switch to 'prod' mode"). Option("prod", "switch to 'prod' mode").
Option("upgrade [--url=URL]", "upgrade from official site or an url"). Option("upgrade [--url=URL]", "upgrade from official site or an url").
Option("install-local-node", "install a local node") Option("install-local-node", "install a local node").
Option("security.reset", "reset security config")
app.On("daemon", func() { app.On("daemon", func() {
nodes.NewAdminNode().Daemon() nodes.NewAdminNode().Daemon()
@@ -179,6 +180,17 @@ func main() {
log.Println("restarting ...") log.Println("restarting ...")
app.RunRestart() app.RunRestart()
}) })
app.On("security.reset", func() {
var sock = gosock.NewTmpSock(teaconst.ProcessName)
if !sock.IsListening() {
fmt.Println("[ERROR]the service not started yet, you should start the service first")
return
}
_, _ = sock.Send(&gosock.Command{
Code: "security.reset",
})
fmt.Println("ok")
})
app.Run(func() { app.Run(func() {
var adminNode = nodes.NewAdminNode() var adminNode = nodes.NewAdminNode()
adminNode.Run() adminNode.Run()

View File

@@ -79,7 +79,7 @@ func loadSecurityConfig() (*systemconfigs.SecurityConfig, error) {
return nil, err return nil, err
} }
if len(resp.ValueJSON) == 0 { if len(resp.ValueJSON) == 0 {
sharedSecurityConfig = defaultSecurityConfig() sharedSecurityConfig = NewSecurityConfig()
return sharedSecurityConfig, nil return sharedSecurityConfig, nil
} }
@@ -94,7 +94,7 @@ func loadSecurityConfig() (*systemconfigs.SecurityConfig, error) {
err = json.Unmarshal(resp.ValueJSON, config) err = json.Unmarshal(resp.ValueJSON, config)
if err != nil { if err != nil {
logs.Println("[SECURITY_MANAGER]" + err.Error()) logs.Println("[SECURITY_MANAGER]" + err.Error())
sharedSecurityConfig = defaultSecurityConfig() sharedSecurityConfig = NewSecurityConfig()
return sharedSecurityConfig, nil return sharedSecurityConfig, nil
} }
err = config.Init() err = config.Init()
@@ -105,7 +105,8 @@ func loadSecurityConfig() (*systemconfigs.SecurityConfig, error) {
return sharedSecurityConfig, nil return sharedSecurityConfig, nil
} }
func defaultSecurityConfig() *systemconfigs.SecurityConfig { // NewSecurityConfig create new security config
func NewSecurityConfig() *systemconfigs.SecurityConfig {
return &systemconfigs.SecurityConfig{ return &systemconfigs.SecurityConfig{
Frame: FrameSameOrigin, Frame: FrameSameOrigin,
AllowLocal: true, AllowLocal: true,

View File

@@ -3,6 +3,7 @@ package nodes
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
"github.com/TeaOSLab/EdgeAdmin/internal/configs" "github.com/TeaOSLab/EdgeAdmin/internal/configs"
teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const" teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const"
"github.com/TeaOSLab/EdgeAdmin/internal/events" "github.com/TeaOSLab/EdgeAdmin/internal/events"
@@ -406,6 +407,10 @@ func (this *AdminNode) listenSock() error {
case "prod": // 切换到prod case "prod": // 切换到prod
Tea.Env = Tea.EnvProd Tea.Env = Tea.EnvProd
_ = cmd.ReplyOk() _ = cmd.ReplyOk()
case "security.reset":
var newConfig = configloaders.NewSecurityConfig()
_ = configloaders.UpdateSecurityConfig(newConfig)
_ = cmd.ReplyOk()
} }
}) })