mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	出站规则集中WAF跳转到下一个规则分组可以选择出站规则分组
This commit is contained in:
		@@ -56,7 +56,7 @@ func (this *UpdateSetPopupAction) RunGet(params struct {
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	actionMaps := []maps.Map{}
 | 
			
		||||
	var actionMaps = []maps.Map{}
 | 
			
		||||
	for _, action := range firewallconfigs.AllActions {
 | 
			
		||||
		actionMaps = append(actionMaps, maps.Map{
 | 
			
		||||
			"name":        action.Name,
 | 
			
		||||
@@ -119,7 +119,7 @@ func (this *UpdateSetPopupAction) RunPost(params struct {
 | 
			
		||||
	if len(params.RulesJSON) == 0 {
 | 
			
		||||
		this.Fail("请添加至少一个规则")
 | 
			
		||||
	}
 | 
			
		||||
	rules := []*firewallconfigs.HTTPFirewallRule{}
 | 
			
		||||
	var rules = []*firewallconfigs.HTTPFirewallRule{}
 | 
			
		||||
	err = json.Unmarshal(params.RulesJSON, &rules)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
// 动作选择
 | 
			
		||||
Vue.component("http-firewall-actions-box", {
 | 
			
		||||
	props: ["v-actions", "v-firewall-policy", "v-action-configs"],
 | 
			
		||||
	props: ["v-actions", "v-firewall-policy", "v-action-configs", "v-group-type"],
 | 
			
		||||
	mounted: function () {
 | 
			
		||||
		let that = this
 | 
			
		||||
		Tea.action("/servers/iplists/levelOptions")
 | 
			
		||||
@@ -37,6 +37,13 @@ Vue.component("http-firewall-actions-box", {
 | 
			
		||||
			this.vFirewallPolicy.inbound.groups = []
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (this.vFirewallPolicy.outbound == null) {
 | 
			
		||||
			this.vFirewallPolicy.outbound = {}
 | 
			
		||||
		}
 | 
			
		||||
		if (this.vFirewallPolicy.outbound.groups == null) {
 | 
			
		||||
			this.vFirewallPolicy.outbound.groups = []
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		let id = 0
 | 
			
		||||
		let configs = []
 | 
			
		||||
		if (this.vActionConfigs != null) {
 | 
			
		||||
@@ -202,7 +209,16 @@ Vue.component("http-firewall-actions-box", {
 | 
			
		||||
			})
 | 
			
		||||
			this.goGroup = group
 | 
			
		||||
			if (group == null) {
 | 
			
		||||
				this.goGroupName = ""
 | 
			
		||||
				// search outbound groups
 | 
			
		||||
				group = this.vFirewallPolicy.outbound.groups.$find(function (k, v) {
 | 
			
		||||
					return v.id == groupId
 | 
			
		||||
				})
 | 
			
		||||
				if (group == null) {
 | 
			
		||||
					this.goGroupName = ""
 | 
			
		||||
				} else {
 | 
			
		||||
					this.goGroup = group
 | 
			
		||||
					this.goGroupName = group.name
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				this.goGroupName = group.name
 | 
			
		||||
			}
 | 
			
		||||
@@ -677,8 +693,8 @@ Vue.component("http-firewall-actions-box", {
 | 
			
		||||
			<!-- 范围 -->
 | 
			
		||||
			<span v-if="config.options.scope != null && config.options.scope.length > 0" class="small grey">
 | 
			
		||||
				  
 | 
			
		||||
				<span v-if="config.options.scope == 'global'">[所有服务]</span>
 | 
			
		||||
				<span v-if="config.options.scope == 'service'">[当前服务]</span>
 | 
			
		||||
				<span v-if="config.options.scope == 'global'">[所有网站]</span>
 | 
			
		||||
				<span v-if="config.options.scope == 'service'">[当前网站]</span>
 | 
			
		||||
			</span>
 | 
			
		||||
			
 | 
			
		||||
			<!-- 操作按钮 -->
 | 
			
		||||
@@ -703,8 +719,8 @@ Vue.component("http-firewall-actions-box", {
 | 
			
		||||
				<td>封禁范围</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<select class="ui dropdown auto-width" v-model="blockScope">
 | 
			
		||||
						<option value="service">当前服务</option>
 | 
			
		||||
						<option value="global">所有服务</option>
 | 
			
		||||
						<option value="service">当前网站</option>
 | 
			
		||||
						<option value="global">所有网站</option>
 | 
			
		||||
					</select>
 | 
			
		||||
					<p class="comment" v-if="blockScope == 'service'">只封禁用户对当前网站的访问,其他服务不受影响。</p>
 | 
			
		||||
					<p class="comment" v-if="blockScope =='global'">封禁用户对所有网站的访问。</p>
 | 
			
		||||
@@ -897,7 +913,8 @@ Vue.component("http-firewall-actions-box", {
 | 
			
		||||
				<td>
 | 
			
		||||
					<select class="ui dropdown auto-width" v-model="goGroupId">
 | 
			
		||||
						<option value="0">[选择分组]</option>
 | 
			
		||||
						<option v-for="group in vFirewallPolicy.inbound.groups" :value="group.id">{{group.name}}</option>
 | 
			
		||||
						<option v-if="vFirewallPolicy.inbound != null && vFirewallPolicy.inbound.groups != null" v-for="group in vFirewallPolicy.inbound.groups" :value="group.id">入站:{{group.name}}</option>
 | 
			
		||||
						<option v-if="vGroupType == 'outbound' && vFirewallPolicy.outbound != null && vFirewallPolicy.outbound.groups != null" v-for="group in vFirewallPolicy.outbound.groups" :value="group.id">出站:{{group.name}}</option>
 | 
			
		||||
					</select>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
@@ -908,7 +925,8 @@ Vue.component("http-firewall-actions-box", {
 | 
			
		||||
				<td>
 | 
			
		||||
					<select class="ui dropdown auto-width" v-model="goGroupId">
 | 
			
		||||
						<option value="0">[选择分组]</option>
 | 
			
		||||
						<option v-for="group in vFirewallPolicy.inbound.groups" :value="group.id">{{group.name}}</option>
 | 
			
		||||
						<option v-if="vFirewallPolicy.inbound != null && vFirewallPolicy.inbound.groups != null" v-for="group in vFirewallPolicy.inbound.groups" :value="group.id">入站:{{group.name}}</option>
 | 
			
		||||
						<option v-if="vGroupType == 'outbound' && vFirewallPolicy.outbound != null && vFirewallPolicy.outbound.groups != null" v-for="group in vFirewallPolicy.outbound.groups" :value="group.id">出站:{{group.name}}</option>
 | 
			
		||||
					</select>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@
 | 
			
		||||
				<http-firewall-rules-box :v-rules="rules" :v-type="type"></http-firewall-rules-box>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
		<tr v-show="rules.length > 1">
 | 
			
		||||
			<td>规则之间的关系 *</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<select class="ui dropdown" name="connector" style="width:10em" @change="changeConnector()" v-model="selectedConnector">
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td>执行动作 *</td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <http-firewall-actions-box :v-actions="actions" :v-firewall-policy="firewallPolicy"></http-firewall-actions-box>
 | 
			
		||||
                <http-firewall-actions-box :v-actions="actions" :v-firewall-policy="firewallPolicy"  :v-group-type="type"></http-firewall-actions-box>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@
 | 
			
		||||
				<http-firewall-rules-box :v-rules="rules" :v-type="type"></http-firewall-rules-box>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
		<tr v-show="rules.length > 1">
 | 
			
		||||
			<td>规则之间的关系 *</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<select class="ui dropdown" name="connector" style="width:10em" @change="changeConnector()" v-model="selectedConnector">
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
		<tr>
 | 
			
		||||
            <td>执行动作 *</td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <http-firewall-actions-box :v-actions="actions" :v-firewall-policy="firewallPolicy" :v-action-configs="actionConfigs"></http-firewall-actions-box>
 | 
			
		||||
                <http-firewall-actions-box :v-actions="actions" :v-firewall-policy="firewallPolicy" :v-action-configs="actionConfigs" :v-group-type="type"></http-firewall-actions-box>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user