APEX 中的 Salesforce UserInfo 会话类型
Posted
技术标签:
【中文标题】APEX 中的 Salesforce UserInfo 会话类型【英文标题】:Salesforce UserInfo session type in APEX 【发布时间】:2013-12-17 20:18:53 【问题描述】:我想知道是否有一种方法可以在特定用户直接登录或通过组织用户列表中的“登录身份”功能登录时在 APEX 中查找。 UserInfo 类似乎没有为此目的提供任何方法,我需要在我的顶点代码中知道这一点。
提前致谢
【问题讨论】:
你的情况是什么?你需要知道什么信息? 我正在开发 SFDC 中使用的第 3 方应用程序,该应用程序在当前用户的上下文中调用我们的 Web 服务。我想阻止系统管理员(或任何被授予以其他人身份登录的人)在以这种方式登录时调用我们的网络服务。这是我们网络服务的安全问题。 系统管理员可能有合法的需要尝试一下,根据用户的请求调试连接问题。 “登录身份”条目记录在 Setup Audit Trail 中,但我怀疑您是否可以访问它... 向 SF 支持寻求帮助?也许你不应该存储凭据,强制用户每次都对你的服务进行身份验证。 是的,我不怀疑管理员必须查看其他人的帐户,但他仍然不能看到我们服务中的数据。我们已经就这个问题联系了 SFDC 的支持,等待回复。 【参考方案1】:某些东西正在跟踪您的会话以前属于另一个用户,以便可以在 Salesforce UI 中显示“以 XYZ (foo@bar.com) 身份登录”消息。
我怀疑这将基于 cookie。如果是这种情况,您可以尝试通过在以其他用户身份登录时跟踪 cookie 更改来隔离它。如果你能找到它,那么你可以使用
检查 Apex 中是否存在此 cookieCookie counter = ApexPages.currentPage().getCookies().get('loginAsCookieHere');
【讨论】:
谢谢,我试试看。【参考方案2】:据我所知,Salesforce 无法做到这一点。
【讨论】:
以上是关于APEX 中的 Salesforce UserInfo 会话类型的主要内容,如果未能解决你的问题,请参考以下文章
更新用户对象时 Salesforce Apex 触发器中的 MIXED_DML_OPERATION 错误