用户对象的 Salesforce 字段级安全性

Posted

技术标签:

【中文标题】用户对象的 Salesforce 字段级安全性【英文标题】:Salesforce Field-Level Security for User Object 【发布时间】:2012-07-11 17:57:14 【问题描述】:

我在 Salesforce 用户对象中有一个自定义字段。我正在尝试制定权限。我只希望用户的经理和系统管理员能够看到这个字段。

查看现场级安全选项,我看到:合同经理。我担心如果我检查这个,所有合同经理都可以看到这个字段。是这样吗?

是否有一种简单的方法来完成此安全策略并在不允许我拥有很多用户的沙箱中对其进行测试?

【问题讨论】:

【参考方案1】:

您是对的,如果您允许合同经理配置文件通过字段级安全性查看该字段,那么分配给该配置文件的所有用户都将能够查看该字段,无论该用户是否实际累积到他们。

您应该能够根据一些更高级的逻辑显示/隐藏此字段,方法是将一个小的 VF 页面嵌入到用户页面布局中。但是,这仍然需要您通过字段级安全性使该字段可见,并且如果其他管理员有权访问 API,您将不允许您将其隐藏(它只会在页面上对他们隐藏)。

【讨论】:

谢谢。很难测试围绕用户的功能,因为开发版在用户许可证方面相当有限。感谢您的帮助。【参考方案2】:

使该字段对合同经理可见将使其对所有合同经理可见。但是,有一个相当简单的公式可以让您安全地执行此操作。

1) 让合同经理看不到机密字段。

2) 在用户上创建与合同经理的层级关系。

3) 创建一个公式来检查运行用户是否是您正在查看的用户的合同经理。

IF($user.id == user.contract_manager__c,secret_field__c,'only this users contract manager can see this.')

【讨论】:

以上是关于用户对象的 Salesforce 字段级安全性的主要内容,如果未能解决你的问题,请参考以下文章

Salesforce 开发整理权限共享

Salesforce - 我可以在两种不同的对象类型上有一个查找字段吗?

SalesForce 集成 - 在 SF 对象定义更改时通知外部系统

Salesforce:查找字段的自动完成

Azure 数据工厂上传到 Salesforce 并在另一个对象上引用字段

Apex 中操作用户和组