实现WAF

This commit is contained in:
GoEdgeLab
2020-10-08 15:06:49 +08:00
parent 8e0c10419a
commit ab4452b37f
3 changed files with 20 additions and 7 deletions

View File

@@ -36,9 +36,10 @@ func (this *IndexAction) RunGet(params struct {
policyMaps := []maps.Map{} policyMaps := []maps.Map{}
for _, p := range policiesResp.FirewallPolicies { for _, p := range policiesResp.FirewallPolicies {
policyMaps = append(policyMaps, maps.Map{ policyMaps = append(policyMaps, maps.Map{
"id": p.Id, "id": p.Id,
"name": p.Name, "name": p.Name,
"isOn": p.IsOn, "isOn": p.IsOn,
"description": p.Description,
}) })
} }
this.Data["firewallPolicies"] = policyMaps this.Data["firewallPolicies"] = policyMaps

View File

@@ -38,9 +38,10 @@ func (this *IndexAction) RunGet(params struct {
policyMaps := []maps.Map{} policyMaps := []maps.Map{}
for _, p := range policiesResp.FirewallPolicies { for _, p := range policiesResp.FirewallPolicies {
policyMaps = append(policyMaps, maps.Map{ policyMaps = append(policyMaps, maps.Map{
"id": p.Id, "id": p.Id,
"name": p.Name, "name": p.Name,
"isOn": p.IsOn, "isOn": p.IsOn,
"description": p.Description,
}) })
} }
this.Data["firewallPolicies"] = policyMaps this.Data["firewallPolicies"] = policyMaps

View File

@@ -11,12 +11,22 @@ Vue.component("http-firewall-config-box", {
} }
return { return {
firewall: firewall firewall: firewall,
selectedPolicy: this.lookupPolicy(firewall.firewallPolicyId)
} }
}, },
methods: { methods: {
changePolicyId: function () { changePolicyId: function () {
this.firewall.firewallPolicyId = parseInt(this.firewall.firewallPolicyId) this.firewall.firewallPolicyId = parseInt(this.firewall.firewallPolicyId)
this.selectedPolicy = this.lookupPolicy(this.firewall.firewallPolicyId)
},
lookupPolicy: function (policyId) {
if (policyId <= 0) {
return null
}
return this.vFirewallPolicies.$find(function (k, v) {
return v.id == policyId
})
} }
}, },
template: `<div> template: `<div>
@@ -44,6 +54,7 @@ Vue.component("http-firewall-config-box", {
<option value="0">[请选择]</option> <option value="0">[请选择]</option>
<option v-for="policy in vFirewallPolicies" :value="policy.id">{{policy.name}}</option> <option v-for="policy in vFirewallPolicies" :value="policy.id">{{policy.name}}</option>
</select> </select>
<p class="comment" v-if="selectedPolicy != null"><span v-if="!selectedPolicy.isOn" class="red">[正在停用的策略]</span>{{selectedPolicy.description}}</p>
</div> </div>
</td> </td>
</tr> </tr>