没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\rbac\DbManager

继承yii\rbac\DbManager » yii\rbac\BaseManager » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\rbac\ManagerInterface
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/rbac/DbManager.php

DbManager 表示将授权信息存储在数据库中的授权管理器。

数据库连接由 $db 指定。可以使用迁移工具来初始化数据库模式:

yii migrate --migrationPath=@yii/rbac/migrations/

如果你不想使用迁移工具而是需要 SQL,所有数据库的文件都位于 migrations 目录中。

你可以通过设置 $itemTable$itemChildTable$assignmentTable$ruleTable 来更改用于存储授权和规则数据的表的名称。

有关 DbManager 的更多详细信息和用法信息,请参阅 授权指南

公共属性

隐藏继承的属性

属性类型描述被定义在
$assignmentTable string 存储授权项目分配的表的名称。默认为 “auth_assignment”。 yii\rbac\DbManager
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$cache yii\caching\CacheInterface|array|string 用于提高 RBAC 性能的缓存。这可以是以下之一: - 一个应用程序组件 ID(例如 cache) - 一个配置数组 - 一个 yii\caching\Cache 对象 如果未设置,则表示未启用缓存。 请注意,通过启用 RBAC 缓存,所有认证项,规则和认证的父子关系项将被缓存并加载到内存中。 这将提高 RBAC 权限检查的性能。 但是,它也会需要额外的内存,因此如果你的 RBAC 系统包含太多认证项,则可能不合适。 在这种情况下,你应该寻求其他 RBAC 实现(例如,基于 Redis 存储的 RBAC)。 另请注意,如果你从此组件外部修改 RBAC 项目,规则或父子关系, 你必须手动调用 invalidateCache() 以确保数据一致性。 yii\rbac\DbManager
$cacheKey string 用于在缓存中存储 RBAC 数据的键 yii\rbac\DbManager
$db yii\db\Connection|array|string 数据库连接对象或数据库连接的应用程序组件 ID。 创建 DbManager 对象后,如果要更改此属性, 你应该只为它分配一个 DB 连接对象。 从版本 2. yii\rbac\DbManager
$defaultRoleInstances yii\rbac\Role[] 默认角色。该数组由角色名称索引 yii\rbac\BaseManager
$itemChildTable string 存储授权项层次结构下的表的名称。默认为 “auth_item_child”。 yii\rbac\DbManager
$itemTable string 存储授权项的表的名称。默认为 “auth_item”。 yii\rbac\DbManager
$permissions yii\rbac\Permission[] 系统中的所有权限。该数组由权限名称索引。 yii\rbac\BaseManager
$roles yii\rbac\Role[] 系统中的所有角色。该数组由角色名称索引。 yii\rbac\BaseManager
$ruleTable string 存储规则的表的名称。默认为 “auth_rule”。 yii\rbac\DbManager

受保护的属性

隐藏继承的属性

属性类型描述被定义在
$defaultRoles array 在不调用 assign() 的情况下自动分配给每个用户的角色名称列表。 请注意,无论身份验证的状态如何,这些角色都将应用于用户。 yii\rbac\BaseManager
$items yii\rbac\Item[] 所有认证项目(name => Item) yii\rbac\DbManager
$parents array 认证项的父子关系(childName => list of parents) yii\rbac\DbManager
$rules yii\rbac\Rule[] 所有认证规则(name => Rule) yii\rbac\DbManager

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
add() 向 RBAC 系统添加角色,权限或规则。 yii\rbac\BaseManager
addChild() 将项目添加为另一项目的子项。 yii\rbac\DbManager
assign() 为用户分配角色。 yii\rbac\DbManager
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canAddChild() 检查将孩子加入父项的可能性。 yii\rbac\DbManager
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
checkAccess() yii\rbac\DbManager
className() Returns the fully qualified name of this class. yii\base\BaseObject
createPermission() 创建一个新的 Permission 对象。 请注意,新创建的权限尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。 yii\rbac\BaseManager
createRole() 创建一个新的 Role 对象。 请注意,新创建的角色尚未添加到 RBAC 系统。 你必须填写所需数据并调用 add() 将其添加到系统中。 yii\rbac\BaseManager
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getAssignment() 返回有关角色和用户的分配信息。 yii\rbac\DbManager
getAssignments() 返回指定用户的所有角色分配信息。 yii\rbac\DbManager
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getChildRoles() 返回指定角色的子角色。深度不受限制。 yii\rbac\DbManager
getChildren() 返回子项权限和角色。 yii\rbac\DbManager
getDefaultRoleInstances() 将 defaultRoles 作为 Role 对象的数组返回。 yii\rbac\BaseManager
getDefaultRoles() 获取默认角色 yii\rbac\BaseManager
getPermission() 返回指定的权限。 yii\rbac\BaseManager
getPermissions() 返回系统中的所有权限。 yii\rbac\BaseManager
getPermissionsByRole() 返回指定角色所代表的所有权限。 yii\rbac\DbManager
getPermissionsByUser() 返回用户拥有的所有权限。 yii\rbac\DbManager
getRole() 返回指定的角色。 yii\rbac\BaseManager
getRoles() 返回系统中的所有角色。 yii\rbac\BaseManager
getRolesByUser() {@inheritdoc} 此方法返回的角色包括通过 $defaultRoles 分配的角色。 yii\rbac\DbManager
getRule() 返回指定名称的规则。 yii\rbac\DbManager
getRules() 返回系统中可用的所有规则。 yii\rbac\DbManager
getUserIdsByRole() 返回指定角色的所有角色分配信息。 yii\rbac\DbManager
hasChild() 返回一个值,该值指示父项的子项是否已存在。 yii\rbac\DbManager
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() 初始化应用程序组件。 此方法通过建立数据库连接来覆盖父实现。 yii\rbac\DbManager
invalidateCache() yii\rbac\DbManager
loadFromCache() yii\rbac\DbManager
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
remove() 从 RBAC 系统中删除角色,权限或规则。 yii\rbac\BaseManager
removeAll() 删除所有授权数据,包括角色,权限,规则和分配。 yii\rbac\DbManager
removeAllAssignments() 删除所有角色分配。 yii\rbac\DbManager
removeAllPermissions() 删除所有权限。 所有父子关系将相应调整。 yii\rbac\DbManager
removeAllRoles() 删除所有角色。 所有父子关系将相应调整。 yii\rbac\DbManager
removeAllRules() 删除所有规则。 所有具有规则的角色和权限都将相应调整。 yii\rbac\DbManager
removeChild() 从父项中移除一个子项。 注意,子项目不会被删除。仅删除父子关系。 yii\rbac\DbManager
removeChildren() 从父项那里删除所有子项。 注意,子项目不会被删除。仅删除父子关系。 yii\rbac\DbManager
revoke() 撤消用户的角色。 yii\rbac\DbManager
revokeAll() 撤消用户的所有角色。 yii\rbac\DbManager
setDefaultRoles() 设置默认角色 yii\rbac\BaseManager
trigger() Triggers an event. yii\base\Component
update() 更新系统中指定的角色,权限或规则。 yii\rbac\BaseManager

受保护的方法

隐藏继承的方法

方法描述被定义在
addItem() 将一个 auth 项添加到 RBAC 系统。 yii\rbac\DbManager
addRule() 向 RBAC 系统添加规则。 yii\rbac\DbManager
checkAccessFromCache() 根据从缓存加载的数据对指定用户执行访问检查。 启用 $cache 时,checkAccess() 在内部调用此方法。 yii\rbac\DbManager
checkAccessRecursive() 对指定用户执行访问检查。 此方法由 checkAccess() 在内部调用。 yii\rbac\DbManager
detectLoop() 检查授权项层次结构中是否存在循环。 yii\rbac\DbManager
executeRule() 执行与指定 auth 项关联的规则。 yii\rbac\BaseManager
getChildrenList() 返回每个父项的子项。 yii\rbac\DbManager
getChildrenRecursive() 递归查找指定项的所有子项及子孙项。 yii\rbac\DbManager
getDirectPermissionsByUser() 返回直接分配给用户的所有权限。 yii\rbac\DbManager
getInheritedPermissionsByUser() 返回用户从分配给他的角色继承的所有权限。 yii\rbac\DbManager
getItem() 返回指定的 auth 项。 yii\rbac\DbManager
getItems() 返回指定类型的项。 yii\rbac\DbManager
hasNoAssignments() 检查 $assignment 和 $defaultRoles 数组是否都为空。 yii\rbac\BaseManager
populateItem() 从数据库获取数据以填充认证项。 yii\rbac\DbManager
removeAllItems() 删除指定类型的所有认证项。 yii\rbac\DbManager
removeItem() 从 RBAC 系统中删除 auth 项。 yii\rbac\DbManager
removeRule() 从 RBAC 系统中删除规则。 yii\rbac\DbManager
supportsCascadeUpdate() 返回一个值,指示数据库是否支持级联更新和删除。 对于 SQLite 数据库,默认实现将返回 false,对于所有其他数据库,则返回 true。 yii\rbac\DbManager
updateItem() 更新 RBAC 系统中的 auth 项。 yii\rbac\DbManager
updateRule() 更新 RBAC 系统中的规则。 yii\rbac\DbManager

属性详情

$assignmentTable 公共 属性

存储授权项目分配的表的名称。默认为 “auth_assignment”。

public string $assignmentTable '{{%auth_assignment}}'
$cache 公共 属性 (自版本 2.0.3 可用)

用于提高 RBAC 性能的缓存。这可以是以下之一:

  • 一个应用程序组件 ID(例如 cache
  • 一个配置数组
  • 一个 yii\caching\Cache 对象

如果未设置,则表示未启用缓存。

请注意,通过启用 RBAC 缓存,所有认证项,规则和认证的父子关系项将被缓存并加载到内存中。 这将提高 RBAC 权限检查的性能。 但是,它也会需要额外的内存,因此如果你的 RBAC 系统包含太多认证项,则可能不合适。 在这种情况下,你应该寻求其他 RBAC 实现(例如,基于 Redis 存储的 RBAC)。

另请注意,如果你从此组件外部修改 RBAC 项目,规则或父子关系, 你必须手动调用 invalidateCache() 以确保数据一致性。

$cacheKey 公共 属性 (自版本 2.0.3 可用)

用于在缓存中存储 RBAC 数据的键

参见 $cache.

public string $cacheKey 'rbac'
$db 公共 属性

数据库连接对象或数据库连接的应用程序组件 ID。 创建 DbManager 对象后,如果要更改此属性, 你应该只为它分配一个 DB 连接对象。 从版本 2.0.2 开始,这也可以通过配置数组来创建。

$itemChildTable 公共 属性

存储授权项层次结构下的表的名称。默认为 “auth_item_child”。

public string $itemChildTable '{{%auth_item_child}}'
$itemTable 公共 属性

存储授权项的表的名称。默认为 “auth_item”。

public string $itemTable '{{%auth_item}}'
$items 受保护 属性

所有认证项目(name => Item)

protected yii\rbac\Item[] $items null
$parents 受保护 属性

认证项的父子关系(childName => list of parents)

protected array $parents null
$ruleTable 公共 属性

存储规则的表的名称。默认为 “auth_rule”。

public string $ruleTable '{{%auth_rule}}'
$rules 受保护 只读 属性

所有认证规则(name => Rule)

public yii\rbac\Rule[] getRules ( )

方法详情

addChild() 公共 方法

将项目添加为另一项目的子项。

public boolean addChild($parent, $child)
$parent yii\rbac\Item
$child yii\rbac\Item
return boolean

是否成功添加为子项

throws yii\base\Exception

如果父子关系已经存在或者检测到循环。

addItem() 受保护 方法

将一个 auth 项添加到 RBAC 系统。

protected boolean addItem($item)
$item yii\rbac\Item

要添加的项目

return boolean

是否已成功将 auth 项添加到系统中

throws Exception

如果数据验证或保存失败(例如角色名称或权限不唯一)

addRule() 受保护 方法

向 RBAC 系统添加规则。

protected boolean addRule($rule)
$rule yii\rbac\Rule

要添加的规则

return boolean

规则是否已成功添加到系统中

throws Exception

如果数据验证或保存失败(例如规则名称不唯一)

assign() 公共 方法

为用户分配角色。

public yii\rbac\Assignment assign($role, $userId)
$role yii\rbac\Role|yii\rbac\Permission
$userId string|integer

用户 ID(见 yii\web\User::$id

return yii\rbac\Assignment

角色分配信息。

throws Exception

如果该角色已分配给用户

canAddChild() 公共 方法 (自版本 2.0.8 可用)

检查将孩子加入父项的可能性。

public boolean canAddChild($parent, $child)
$parent yii\rbac\Item

父项

$child yii\rbac\Item

要添加到层次结构中的子项

return boolean

是否可以添加

checkAccess() 公共 方法

public void checkAccess($userId, $permissionName, $params = [])
$userId
$permissionName
$params
checkAccessFromCache() 受保护 方法 (自版本 2.0.3 可用)

根据从缓存加载的数据对指定用户执行访问检查。 启用 $cache 时,checkAccess() 在内部调用此方法。

protected boolean checkAccessFromCache($user, $itemName, $params, $assignments)
$user string|integer

用户 ID。这应该是整数或字符串, 表示用户的唯一标识符。参阅 yii\web\User::$id

$itemName string

需要访问检查的操作的名称

$params array

一个键值对,用于传递给与分配给用户任务和角色关联的规则。 名为 'user' 的参数将添加到此数组中, 该数组包含 $userId 的值。

$assignments yii\rbac\Assignment[]

指定用户的分配

return boolean

用户是否可以执行操作。

checkAccessRecursive() 受保护 方法

对指定用户执行访问检查。 此方法由 checkAccess() 在内部调用。

protected boolean checkAccessRecursive($user, $itemName, $params, $assignments)
$user string|integer

用户 ID。这应该是整数或字符串, 表示用户的唯一标识符。参阅 yii\web\User::$id

$itemName string

需要访问检查的操作的名称

$params array

一个键值对,用于传递给与分配给用户任务和角色关联的规则。 名为 'user' 的参数将添加到此数组中, 该数组包含 $userId 的值。

$assignments yii\rbac\Assignment[]

指定用户的分配

return boolean

用户是否可以执行操作。

detectLoop() 受保护 方法

检查授权项层次结构中是否存在循环。

protected boolean detectLoop($parent, $child)
$parent yii\rbac\Item

父项目

$child yii\rbac\Item

要添加到层次结构的子项

return boolean

是否存在循环

getAssignment() 公共 方法

返回有关角色和用户的分配信息。

public null|yii\rbac\Assignment getAssignment($roleName, $userId)
$roleName string

角色名称

$userId string|integer

用户 ID(详见 yii\web\User::$id

return null|yii\rbac\Assignment

分配信息。如果该角色没有分配给该用户, 则返回 Null。

getAssignments() 公共 方法

返回指定用户的所有角色分配信息。

public yii\rbac\Assignment[] getAssignments($userId)
$userId string|integer

用户 ID(详见 yii\web\User::$id

return yii\rbac\Assignment[]

由角色名称索引的分配。如果该用户没有分配角色, 则返回空数组。

getChildRoles() 公共 方法

返回指定角色的子角色。深度不受限制。

public yii\rbac\Role[] getChildRoles($roleName)
$roleName string

要为其提供子角色的角色的名称

return yii\rbac\Role[]

子角色。该数组由角色名称索引。 第一个元素是父角色本身的一个实例。

throws yii\base\InvalidParamException

如果找不到通过 $roleName 获取的 Role

getChildren() 公共 方法

返回子项权限和角色。

public yii\rbac\Item[] getChildren($name)
$name string

父项名

return yii\rbac\Item[]

子项权限和角色

getChildrenList() 受保护 方法

返回每个父项的子项。

protected array getChildrenList()
return array

孩子们的名单。每个数组键都是父项名称, 相应的数组值是子项名称列表。

getChildrenRecursive() 受保护 方法

递归查找指定项的所有子项及子孙项。

protected void getChildrenRecursive($name, $childrenList, &$result)
$name string

要查找其子项的项的名称。

$childrenList array

通过 getChildrenList() 构建的孩子项列表

$result array

子项和子孙项(在数组键中)

getDirectPermissionsByUser() 受保护 方法 (自版本 2.0.7 可用)

返回直接分配给用户的所有权限。

protected yii\rbac\Permission[] getDirectPermissionsByUser($userId)
$userId string|integer

用户 ID(详见 yii\web\User::$id

return yii\rbac\Permission[]

用户拥有的所有直接权限。该数组由权限名称索引。

getInheritedPermissionsByUser() 受保护 方法 (自版本 2.0.7 可用)

返回用户从分配给他的角色继承的所有权限。

protected yii\rbac\Permission[] getInheritedPermissionsByUser($userId)
$userId string|integer

用户 ID(详见 yii\web\User::$id

return yii\rbac\Permission[]

用户拥有的所有继承权限。该数组由权限名称索引。

getItem() 受保护 方法

返回指定的 auth 项。

protected yii\rbac\Item getItem($name)
$name string

Auth 项的名称。

return yii\rbac\Item

与指定名称对应的 auth 项。如果没有这样的项目,则返回 Null。

getItems() 受保护 方法

返回指定类型的项。

protected yii\rbac\Item[] getItems($type)
$type integer

Auth 项类型(yii\rbac\Item::TYPE_ROLEyii\rbac\Item::TYPE_PERMISSION

return yii\rbac\Item[]

指定类型的 auth 项。

getPermissionsByRole() 公共 方法

返回指定角色所代表的所有权限。

public yii\rbac\Permission[] getPermissionsByRole($roleName)
$roleName string

角色名称

return yii\rbac\Permission[]

角色所代表的所有权限。该数组由权限名称索引。

getPermissionsByUser() 公共 方法

返回用户拥有的所有权限。

public yii\rbac\Permission[] getPermissionsByUser($userId)
$userId string|integer

用户 ID(详见 yii\web\User::$id

return yii\rbac\Permission[]

用户拥有的所有权限。该数组由权限名称索引。

getRolesByUser() 公共 方法

{@inheritdoc} 此方法返回的角色包括通过 $defaultRoles 分配的角色。

public void getRolesByUser($userId)
$userId
getRule() 公共 方法

返回指定名称的规则。

public null|yii\rbac\Rule getRule($name)
$name string

规则名称

return null|yii\rbac\Rule

规则对象,如果指定的名称与规则不对应,则为 null。

getRules() 公共 方法

返回系统中可用的所有规则。

public yii\rbac\Rule[] getRules()
return yii\rbac\Rule[]

由规则名称索引的规则

getUserIdsByRole() 公共 方法 (自版本 2.0.7 可用)

返回指定角色的所有角色分配信息。

public string[] getUserIdsByRole($roleName)
$roleName string
return string[]

用户 ID 数组。如果未将角色分配给任何用户, 则将返回空数组。

hasChild() 公共 方法

返回一个值,该值指示父项的子项是否已存在。

public boolean hasChild($parent, $child)
$parent yii\rbac\Item
$child yii\rbac\Item
return boolean

是否 $child 已经是 $parent 的孩子了

init() 公共 方法

初始化应用程序组件。 此方法通过建立数据库连接来覆盖父实现。

public void init()
invalidateCache() 公共 方法

public void invalidateCache()
loadFromCache() 公共 方法

public void loadFromCache()
populateItem() 受保护 方法

从数据库获取数据以填充认证项。

protected yii\rbac\Item populateItem($row)
$row array

来自认证项目表的数据

return yii\rbac\Item

填充的认证项目实例(角色或权限)

removeAll() 公共 方法

删除所有授权数据,包括角色,权限,规则和分配。

public void removeAll()
removeAllAssignments() 公共 方法

删除所有角色分配。

public void removeAllAssignments()
removeAllItems() 受保护 方法

删除指定类型的所有认证项。

protected void removeAllItems($type)
$type integer

认证项目类型(该值为 Item::TYPE_PERMISSION 或者 Item::TYPE_ROLE)

removeAllPermissions() 公共 方法

删除所有权限。 所有父子关系将相应调整。

public void removeAllPermissions()
removeAllRoles() 公共 方法

删除所有角色。 所有父子关系将相应调整。

public void removeAllRoles()
removeAllRules() 公共 方法

删除所有规则。 所有具有规则的角色和权限都将相应调整。

public void removeAllRules()
removeChild() 公共 方法

从父项中移除一个子项。 注意,子项目不会被删除。仅删除父子关系。

public boolean removeChild($parent, $child)
$parent yii\rbac\Item
$child yii\rbac\Item
return boolean

是否删除成功

removeChildren() 公共 方法

从父项那里删除所有子项。 注意,子项目不会被删除。仅删除父子关系。

public boolean removeChildren($parent)
$parent yii\rbac\Item
return boolean

是否删除成功

removeItem() 受保护 方法

从 RBAC 系统中删除 auth 项。

protected boolean removeItem($item)
$item yii\rbac\Item

要删除的项目

return boolean

是否成功删除了角色或权限

throws Exception

如果数据验证或保存失败(例如角色名称或权限不唯一)

removeRule() 受保护 方法

从 RBAC 系统中删除规则。

protected boolean removeRule($rule)
$rule yii\rbac\Rule

要删除的规则

return boolean

是否成功删除了规则

throws Exception

如果数据验证或保存失败(例如规则名称不唯一)

revoke() 公共 方法

撤消用户的角色。

public boolean revoke($role, $userId)
$role yii\rbac\Role|yii\rbac\Permission
$userId string|integer

用户 ID(详见 yii\web\User::$id

return boolean

是否撤销成功

revokeAll() 公共 方法

撤消用户的所有角色。

public \yii\rbac\bool是否撤销成功 revokeAll($userId)
$userId string|integer

用户 ID(详见 yii\web\User::$id

supportsCascadeUpdate() 受保护 方法

返回一个值,指示数据库是否支持级联更新和删除。 对于 SQLite 数据库,默认实现将返回 false,对于所有其他数据库,则返回 true。

protected boolean supportsCascadeUpdate()
return boolean

数据库是否支持级联更新和删除。

updateItem() 受保护 方法

更新 RBAC 系统中的 auth 项。

protected boolean updateItem($name, $item)
$name string

要更新的项目名称

$item yii\rbac\Item

更新的项目

return boolean

是否已成功更新 auth 项

throws Exception

如果数据验证或保存失败(例如角色名称或权限不唯一)

updateRule() 受保护 方法

更新 RBAC 系统中的规则。

protected boolean updateRule($name, $rule)
$name string

要更新的规则的名称

$rule yii\rbac\Rule

更新的规则

return boolean

规则是否已成功更新

throws Exception

如果数据验证或保存失败(例如规则名称不唯一)