【发布时间】:2012-07-11 17:57:14
【问题描述】:
我在 Salesforce 用户对象中有一个自定义字段。我正在尝试制定权限。我只希望用户的经理和系统管理员能够看到这个字段。
查看现场级安全选项,我看到:合同经理。我担心如果我检查这个,所有合同经理都可以看到这个字段。是这样吗?
是否有一种简单的方法来完成此安全策略并在不允许我拥有很多用户的沙箱中对其进行测试?
【问题讨论】:
标签: salesforce apex-code
我在 Salesforce 用户对象中有一个自定义字段。我正在尝试制定权限。我只希望用户的经理和系统管理员能够看到这个字段。
查看现场级安全选项,我看到:合同经理。我担心如果我检查这个,所有合同经理都可以看到这个字段。是这样吗?
是否有一种简单的方法来完成此安全策略并在不允许我拥有很多用户的沙箱中对其进行测试?
【问题讨论】:
标签: salesforce apex-code
您是对的,如果您允许合同经理配置文件通过字段级安全性查看该字段,那么分配给该配置文件的所有用户都将能够查看该字段,无论该用户是否实际累积到他们。
您应该能够根据一些更高级的逻辑显示/隐藏此字段,方法是将一个小的 VF 页面嵌入到用户页面布局中。但是,这仍然需要您通过字段级安全性使该字段可见,并且如果其他管理员有权访问 API,您将不允许您将其隐藏(它只会在页面上对他们隐藏)。
【讨论】:
使该字段对合同经理可见将使其对所有合同经理可见。但是,有一个相当简单的公式可以让您安全地执行此操作。
1) 让合同经理看不到机密字段。
2) 在用户上创建与合同经理的层级关系。
3) 创建一个公式来检查运行用户是否是您正在查看的用户的合同经理。
IF($user.id == user.contract_manager__c,secret_field__c,'only this users contract manager can see this.')
【讨论】: