权限集和权限集组中的会话激活
欢迎来到我们安全系列的又一期。今天,我们将深入探讨权限集和权限集组中会话激活的细节。读完这篇文章,你会很好地理解“需要会话激活”是什么意思,以及如何有效地使用它。
为什么要会话激活?
权限集和权限集组是赋予用户能力的核心构建模块。其中一个有意思的功能是“需要会话激活”复选框。有了它,你可以把一个权限集或权限集组分配给用户,但只有在某个特定操作发生时它才会生效。
**设想一个场景:**你想授予对某个资源的权限,但只在特定条件下。
比如当某人靠近某个特定物体时,比如在一栋建筑或一个房间里。你可以检测到这种靠近,激活权限集,授予额外的访问权限。这种访问权限只在会话期间有效。用户退出后,权限集会被停用,但仍然保持分配状态。
演示

我们以飞行员 Paul 为例。我们给 Paul 一个对机场详情和导航只读的权限集。在之前的一个视频中,我们展示了静音组如何隐藏一个特定的字段。现在我们引入一个新的权限集,它可以访问“Runway”对象。这种访问只有在我们激活这个权限集时才会出现。所以,如果 Paul 不在飞机上,他就无法访问跑道的详情。

没有会话激活时,Paul 看到两个选项卡:“OA Airports”和“OA Nav”。“OA Runways”选项卡无法访问。
为了实现会话激活,我写了一段代码。它找出当前用户,找到所需的权限集,并为本次会话激活它。

流程概要:
- 权限集“STA Runway Sessions Allowed”在创建时勾选了“需要会话激活”复选框。
- 这项权限授予对 Runway 对象及其所有字段的访问权限。
- 这个权限集已分配给 Paul,但在我们那段特定的代码运行之前,它一直处于非活动状态。
- 代码运行之后,Paul 的会话中出现了“OA runways”选项卡,他可以访问可用跑道的列表了。
这种动态能力展示了会话激活如何临时提升用户的权限。
下次登录时,Paul 会回到他原来的访问级别,没有额外的跑道权限。
总结
“需要会话激活”是一个强大的工具,尤其是当你想在特定条件下临时授予更大的访问权限时。关键在于什么时候、以什么方式触发激活。
可能性有很多,从基于位置的激活(比如在飞机上)到由事件驱动的激活。
敬请关注
感谢收看。请记住,安全至关重要,而理解字段级安全能确保你的 Salesforce 数据保持机密、掌握在正确的人手中。
请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。
与其他架构师以及所有走在这条路上的人分享想法,一点点改变世界!
祝你的用户管理安全而高效!
STA 4.4