检查权限(Check Permissions)
- 检查是否授予某些权限。
该模型检查当前用户是否具有特定的权限(或者拥有多个权限)。
为此,该操作使用数据库中的两个表,user_roles和role_permissions:
在user_roles表中搜索用户名,以获取分配给用户的所有角色。
在role_permissions表中搜索这些角色中的每一个,以收集授予用户的所有权限。
请注意,您几乎不必使用此操作,因为只要执行受限操作(具有requiredPermission属性的操作),将自动检查用户的权限。
例如,如果某些操作需要“更新”权限,则每个操作都应该具有值为“Update”的requiredPermission属性,
只有当用户具有“更新”权限时,才启用它们。
只有当这种自动测试不够时,
您才会在模型中包含检查权限(例如,除了存在许可之外,还应检查其他一些条件以决定是启用还是禁用某些操作)。
退出连接器[非必须]:
对于已经授予权限的操作将从带有权限名称(如果没有授予该权限则从 <None>退出连接器返回)的退出连接器返回“空”<Nothing>。
例如,假设您要检查当前用户是否具有"读取"权限和/或"更新"权限。在这种情况下,
该操作应与两个单记录的空退出连接器"读取"和"更新"(以及可选地还有第三个单记录的空退出连接器<None>)一起使用:
如果用户具有“读取”权限但不具有“更新”权限,则只"读取"退出连接器有效。
如果用户具有“更新”权限,但不具有“读取”权限,则只会更新退出连接器有效。
如果用户同时具有“读取”权限和“更新”权限,则读取和更新退出都将被收到返回值。
如果用户没有“读取”权限和“更新”权限,则只有<None>退出连接器有效。