zoukankan      html  css  js  c++  java
  • Salesforce自定义权限简介

    自定义权限(Custom Permission)

    Salesforce默认提供了多种方式设定用户的权限,比如简档、权限集等。在这些设定中,已经包括了系统中的对象、应用、字段、页面布局等组件,管理员或开发者只需要设定权限等级即可。

    当管理员或开发者需要设定更灵活的权限时,上面的方法便可能无法满足。为了解决这个问题,Salesforce提供了自定义权限(Custom Permission),让管理员或开发者可以设定完全自定义的权限,然后根据这些权限设定灵活决定各个组件的权限。

    自定义权限的设定

    在设置界面搜索“自定义权限”,点击“自定义权限”链接,即可进入自定义权限一览表。

    点击新建按钮,即可新建自定义权限。

    新建自定义权限

    从截图中可以看到,自定义权限和简档、权限集等不同,没有各种组件的权限设定,而是只有基本的几个属性。用户在设定这些属性值以后,一个自定义权限就添加完成了。

    但是自定义权限不能单独分配给用户,而是要包含在简档或权限集中,相当于它们的一个组成部分。

    自定义权限的使用

    和简档、权限集不同,自定义权限本身并不包含对任何组件的任何权限设定。它就像一张空白的通行证,能通向哪里需要管理员或开发者来灵活设定。

    自定义权限可以在多种情况下使用。现在假设系统中已经添加了一个名称为“Example_CP”的自定义权限。

    验证规则

    在创建验证规则时,需要在“错误条件公式”中插入各种条件。自定义权限便可以在此处使用。

    比如:当用户没有名为“Example_CP”的自定义权限时,验证规则失败。那么可以在“错误条件公式”中这样写:“NOT($Permission.Example_CP)”。这样,当进行验证的用户没有被分配“Example_CP”自定义权限时,验证失败。

    数据库查询

    在SOQL中,可以使用CustomPermission和其他相关对象来查询自定义权限相关的信息。

    比如:

    -- 查询所有包含了Example_CP自定义权限的权限集
    SELECT Id, DeveloperName,
    (select Id, Parent.Name, Parent.Profile.Name from SetupEntityAccessItems)
    FROM CustomPermission
    WHERE DeveloperName = 'Example_CP'
    
    -- 查询所有包含任意自定义权限的简档和权限集
    SELECT Assignee.Name, PermissionSet.Id,
    PermissionSet.Profile.Name,
    PermissionSet.isOwnedByProfile,
    PermissionSet.Label
    FROM PermissionSetAssignment
    WHERE PermissionSetId
    IN (SELECT ParentId
       FROM SetupEntityAccess
       WHERE SetupEntityType = 'CustomPermission')
    
    -- 查询ID是userId变量的值的用户所拥有的权限
    SELECT SetupEntityId 
    FROM SetupEntityAccess 
    WHERE SetupEntityType='CustomPermission' 
        AND ParentId IN 
            (SELECT PermissionSetId 
            FROM PermissionSetAssignment 
            WHERE AssigneeId=:userId)
    
  • 相关阅读:
    [ jquery 选择器 :hidden ] 此方法选取匹配所有不可见元素,或者type为hidden的元素
    剑指 Offer 03. 数组中重复的数字 哈希
    LeetCode 1736. 替换隐藏数字得到的最晚时间 贪心
    Leetcode 1552. 两球之间的磁力 二分
    Leetcode 88. 合并两个有序数组 双指针
    LeetCode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
    LeetCode 1743. 相邻元素对还原数组 哈希
    LeetCode 1745. 回文串分割 IV dp
    剑指 Offer 47. 礼物的最大价值 dp
    剑指 Offer 33. 二叉搜索树的后序遍历序列 树的遍历
  • 原文地址:https://www.cnblogs.com/chengcheng0148/p/salesforce_custom_permission_intro.html
Copyright © 2011-2022 走看看