mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 20:58:14 -05:00
optimize permission check
This commit is contained in:
parent
003f1bbb2a
commit
36d00f58a2
@ -64,15 +64,8 @@ func (r *AlertRule) Enabled() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Snapshot 对传入的Server进行该报警规则下所有type的检查 返回每项检查结果
|
// Snapshot 对传入的Server进行该报警规则下所有type的检查 返回每项检查结果
|
||||||
func (r *AlertRule) Snapshot(cycleTransferStats *CycleTransferStats, server *Server, db *gorm.DB, role uint8) []bool {
|
func (r *AlertRule) Snapshot(cycleTransferStats *CycleTransferStats, server *Server, db *gorm.DB) []bool {
|
||||||
point := make([]bool, len(r.Rules))
|
point := make([]bool, len(r.Rules))
|
||||||
for i := range point {
|
|
||||||
point[i] = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if r.UserID != server.UserID && role != RoleAdmin {
|
|
||||||
return point
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, rule := range r.Rules {
|
for i, rule := range r.Rules {
|
||||||
point[i] = rule.Snapshot(cycleTransferStats, server, db)
|
point[i] = rule.Snapshot(cycleTransferStats, server, db)
|
||||||
|
@ -151,8 +151,11 @@ func checkStatus() {
|
|||||||
role = u.Role
|
role = u.Role
|
||||||
}
|
}
|
||||||
UserLock.RUnlock()
|
UserLock.RUnlock()
|
||||||
|
if alert.UserID != server.UserID && role != model.RoleAdmin {
|
||||||
|
continue
|
||||||
|
}
|
||||||
alertsStore[alert.ID][server.ID] = append(alertsStore[alert.
|
alertsStore[alert.ID][server.ID] = append(alertsStore[alert.
|
||||||
ID][server.ID], alert.Snapshot(AlertsCycleTransferStatsStore[alert.ID], server, DB, role))
|
ID][server.ID], alert.Snapshot(AlertsCycleTransferStatsStore[alert.ID], server, DB))
|
||||||
// 发送通知,分为触发报警和恢复通知
|
// 发送通知,分为触发报警和恢复通知
|
||||||
max, passed := alert.Check(alertsStore[alert.ID][server.ID])
|
max, passed := alert.Check(alertsStore[alert.ID][server.ID])
|
||||||
// 保存当前服务器状态信息
|
// 保存当前服务器状态信息
|
||||||
|
Loading…
Reference in New Issue
Block a user