在 DHIS2 中使用用户假冒功能{ #user_impersonation }¶
总览¶
用户冒充(也称用户切换)是 DHIS2 提供的一项强大功能,可让管理用户 以其他用户身份登录。这项功能在排除故障或解决与用户相关的问题时特别有用,因为它 管理员可以像用户一样体验 DHIS2。
此功能基于 Spring Security 的SwitchUserFilter构建,但具有附加配置选项。
注意
该功能默认**禁用**。要启用它,您必须设置
switch_user_feature.enabled属性 为true你的dhis.conf文件。此功能被视为**实验性**,仅适用于从配置的 IP 地址调用。因此,为了 使用它 您必须知道要调用它的 IP 地址并配置
switch_user_allow_listed_ips财产 在dhis.conf文件中。此限制将来可能会被取消。
如何使用{ #how-it-works }¶
用户冒充功能的运行方式如下:
-
管理用户使用
username向特定 URL(例如/impersonate?username=USERNAME)发出请求 参数 表示他们希望冒充的用户的用户名。 -
用户冒充功能拦截此请求,将
SecurityContext切换到新用户,并重定向。 到主页。 -
在冒充其他用户时,管理用户可以像被冒充用户一样提出请求。
-
要切换回原来的用户,管理用户需要向另一个 URL ( 例如,
/impersonateExit。用户冒充功能拦截此请求,切换SecurityContext。 返回给原用户,并重定向到主页。
如何使用{ #how-to-use }¶
请按照以下步骤使用用户假冒功能:
- 作为具有
ALL或F_IMPERSONATE_USER权限的管理员用户登录。 - 导航到用户冒充的URL(例如,
/impersonate?username=USERNAME)。 - 提供您希望冒充的用户的
用户名参数。 - 系统将把你的会话切换到冒充用户的会话,然后你将被重定向到主页。
- 执行故障排除或用户支持所需的任何操作。
- 当你完成后,请导航到URL以结束冒充(例如,
/impersonateExit)。你的会话将被结束。 切换回原来的管理用户。
组态¶
用户假冒功能配置选项。
- switch_user_feature.enabled
(启用或禁用该功能,默认为disabled`)。 - switch_user_allow_listed_ips"(默认允许的 IP 地址为:"localhost,127.0.0.1,[0:0:0:0:0:0:0:1]")。
安全限制{ #security-restrictions }¶
- 必须在配置文件
dhis.conf中启用该功能,默认值为disabled。 - 试图冒充的用户需要从允许的 IP 发送请求。
- 没有 "ALL "权限的用户不能冒充另一个拥有 "ALL "权限的用户。
- 用户不能冒充自己。
安全影响{ #security-implications }¶
由于其固有的安全影响,应谨慎使用该功能。只有受信任的管理员 才有权冒充用户。此外,还建议注意与冒充用户相关的日志事件。 冒充用户的相关日志事件。
用户冒充事件的记录格式如下 格式记录:验证事件:AuthenticationSwitchUserEvent; username: USER_DOING_THE_IMPERSONATION; targetUser: USER_BEING_IMPERSONATED;`