mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	增加"edge-admin security.reset"命令来使用命令行重置安全设置
This commit is contained in:
		@@ -41,7 +41,8 @@ func main() {
 | 
			
		||||
		Option("dev", "switch to 'dev' mode").
 | 
			
		||||
		Option("prod", "switch to 'prod' mode").
 | 
			
		||||
		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() {
 | 
			
		||||
		nodes.NewAdminNode().Daemon()
 | 
			
		||||
@@ -179,6 +180,17 @@ func main() {
 | 
			
		||||
		log.Println("restarting ...")
 | 
			
		||||
		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() {
 | 
			
		||||
		var adminNode = nodes.NewAdminNode()
 | 
			
		||||
		adminNode.Run()
 | 
			
		||||
 
 | 
			
		||||
@@ -79,7 +79,7 @@ func loadSecurityConfig() (*systemconfigs.SecurityConfig, error) {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if len(resp.ValueJSON) == 0 {
 | 
			
		||||
		sharedSecurityConfig = defaultSecurityConfig()
 | 
			
		||||
		sharedSecurityConfig = NewSecurityConfig()
 | 
			
		||||
		return sharedSecurityConfig, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -94,7 +94,7 @@ func loadSecurityConfig() (*systemconfigs.SecurityConfig, error) {
 | 
			
		||||
	err = json.Unmarshal(resp.ValueJSON, config)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logs.Println("[SECURITY_MANAGER]" + err.Error())
 | 
			
		||||
		sharedSecurityConfig = defaultSecurityConfig()
 | 
			
		||||
		sharedSecurityConfig = NewSecurityConfig()
 | 
			
		||||
		return sharedSecurityConfig, nil
 | 
			
		||||
	}
 | 
			
		||||
	err = config.Init()
 | 
			
		||||
@@ -105,7 +105,8 @@ func loadSecurityConfig() (*systemconfigs.SecurityConfig, error) {
 | 
			
		||||
	return sharedSecurityConfig, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func defaultSecurityConfig() *systemconfigs.SecurityConfig {
 | 
			
		||||
// NewSecurityConfig create new security config
 | 
			
		||||
func NewSecurityConfig() *systemconfigs.SecurityConfig {
 | 
			
		||||
	return &systemconfigs.SecurityConfig{
 | 
			
		||||
		Frame:                  FrameSameOrigin,
 | 
			
		||||
		AllowLocal:             true,
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package nodes
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/configs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/events"
 | 
			
		||||
@@ -406,6 +407,10 @@ func (this *AdminNode) listenSock() error {
 | 
			
		||||
			case "prod": // 切换到prod
 | 
			
		||||
				Tea.Env = Tea.EnvProd
 | 
			
		||||
				_ = cmd.ReplyOk()
 | 
			
		||||
			case "security.reset":
 | 
			
		||||
				var newConfig = configloaders.NewSecurityConfig()
 | 
			
		||||
				_ = configloaders.UpdateSecurityConfig(newConfig)
 | 
			
		||||
				_ = cmd.ReplyOk()
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user