Permissions 对Salesforce Apex WebService强制执行的权限

Permissions 对Salesforce Apex WebService强制执行的权限,permissions,salesforce,apex-code,Permissions,Salesforce,Apex Code,阅读之后,当前用户的权限似乎无关紧要。但是,当以具有管理员配置文件的用户以外的任何人的身份调用此方法时,它会在交叉引用实体上引发访问不足\u异常: global without sharing class OpportunityTeamSales { WebService static void AssignToSalesTeam(string userId, string opportunityId) { OpportunityTeamMember tm = n

阅读之后,当前用户的权限似乎无关紧要。但是,当以具有管理员配置文件的用户以外的任何人的身份调用此方法时,它会在交叉引用实体上引发
访问不足\u
异常:

global without sharing class OpportunityTeamSales {
    WebService static void AssignToSalesTeam(string userId, string opportunityId)
    {
        OpportunityTeamMember tm = new OpportunityTeamMember();
        tm.OpportunityId = opportunityId;
        tm.UserId = userId;
        tm.TeamMemberRole = 'Sales Engineer';

        insert tm;
    }
}
使用显式
而不共享
关键字的事件,它似乎对对象/子对象强制执行字段级安全/权限
Opportunity
OpportunityTeamMember作为系统对象,我们无法编辑关系

更新:


遇到错误的用户配置文件具有对
Opportunity
对象的读/写/修改权限,并且
OpportunityTeamMember
对象似乎没有特定的权限集。我们只是尝试创建一个
OpportunityTeamMember
,该查找目标除“delete”外,用户对其拥有完全权限。不共享
意味着该类不遵守共享规则,当对象的隐私设置设置为
private
时,控制系统内记录可见性的规则。据我所知,这并不意味着对象级权限被覆盖,因此您仍然无法访问连接到用户无权访问的对象的查找字段,因此您在这里看到的错误。您需要将该用户分配给另一个用户配置文件,该用户配置文件可以访问这些对象

编辑


假设您的用户确实有访问对象的权限,我相信您还需要“定制应用程序”已检查用户配置文件上的权限,以便他们能够修改销售团队。

感谢您的回答-我已更新了问题,提供了有关我们试图完成的任务以及目标用户配置文件拥有的权限的更多详细信息。给他们“自定义应用程序”似乎可以解决问题,虽然这不是我们想要允许的。就目前情况而言,它回答了我的问题,我们将开始寻求其他途径,找到更合适的解决方案。谢谢