在APIClient类中添加了get_routes和get_global_rules方法,用于获取所有路由和全局规则。

我已经修复了安全规则列表不显示的问题。问题的根本原因是:
在rule_management视图函数中,它尝试从 /apisix/admin/security/complex_rules 这个路径获取安全规则,但这个路径实际上并不存在于APISIX API中。
我们之前已经修改了create_complex_security_rule和update_complex_security_rule方法,使它们将安全规则作为插件配置保存在标准的APISIX路由或全局规则中,但rule_management视图没有相应更新。
我进行了以下修改:
在APIClient类中添加了get_routes和get_global_rules方法,用于获取所有路由和全局规则。
修改了rule_management视图,使它:
使用APIClient实例而不是直接HTTP请求
从标准的APISIX路由和全局规则中获取安全规则
检查每个路由和全局规则中是否包含security-controller插件及其rule_engine配置
正确提取和显示安全规则
现在您应该能够看到之前创建的安全规则了。请刷新安全规则列表页面并检查。如果规则创建成功,它们应该会出现在列表中。

posted @ 2025-06-08 13:51  昆仑葫芦  阅读(0)  评论(0)    收藏  举报