如何根据用户权限查询记录?

时间:2011-12-14 16:35:21

标签: salesforce soql

有没有办法只返回当前用户具有写访问权限的帐户(使用SOQL)?

例如,如果我转到特定帐户并单击[共享]按钮,我可以看到有权访问该记录的用户(和组)列表。当以其中一个用户身份登录时,我可以运行SOQL语句(通过Visualforce页面上的自定义Controller)来检索帐户记录。但是,我想确保仅在用户有权写入(或编辑)该记录时才返回帐户记录。有任何想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

实施共享的方法是使用with sharing关键字。如果由于某种原因,您不想这样做,您可以在捕获DMLException的try块中包装DML语句。在异常对象上调用getDmlType()以查看失败是否与权限相关。我认为状态代码为System.StatusCode.INSUFFICIENT_ACCESS_OR_READONLY。这是一个有点完整的status codes列表。