pub struct RuleEngine { /* private fields */ }Expand description
规则引擎,管理规则集合并批量执行检查
规则按添加顺序执行,所有规则均会运行(不短路), 以便一次性收集全部违规。
Implementations§
Source§impl RuleEngine
impl RuleEngine
Sourcepub fn with_default_rules() -> Self
pub fn with_default_rules() -> Self
创建包含默认规则集的引擎
默认规则集包含:
NoSelectStarRuleRequireWhereInDeleteRuleRequireWhereInUpdateRuleNoUnionRuleForbiddenKeywordRule(禁止 GRANT/REVOKE/EXEC/EXECUTE)
Sourcepub fn rule_count(&self) -> usize
pub fn rule_count(&self) -> usize
返回规则数量
Sourcepub fn check(&self, sql: &str) -> RuleReport
pub fn check(&self, sql: &str) -> RuleReport
对单条 SQL 执行所有规则,返回汇总报告
Sourcepub fn check_batch<'a>(
&self,
sqls: impl IntoIterator<Item = &'a str>,
) -> Vec<RuleReport>
pub fn check_batch<'a>( &self, sqls: impl IntoIterator<Item = &'a str>, ) -> Vec<RuleReport>
对多条 SQL 批量执行检查,返回每条 SQL 的报告
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for RuleEngine
impl !UnwindSafe for RuleEngine
impl Freeze for RuleEngine
impl Send for RuleEngine
impl Sync for RuleEngine
impl Unpin for RuleEngine
impl UnsafeUnpin for RuleEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more