我有一个关于使用 Interops dll 处理自定义页面上的用户访问的说明。
以下是场景:-
ABC user没有任何访问权限CM(注意:ABC 用户是 tridion 用户)- 如果 ABC 用户访问自定义页面,用户应该被模拟为管理员用户
- 现在 ABC 用户将创建/更新组件/页面并发布组件/页面
- 但问题是组件/页面的历史显示名称的
admin user名称,但我想用名称记录更改ABC user
我怎样才能做到这一点?
或者
在不使用模拟的情况下,有没有最好的方法来实现这一点?
我有一个关于使用 Interops dll 处理自定义页面上的用户访问的说明。
以下是场景:-
ABC user没有任何访问权限CM (注意:ABC 用户是 tridion 用户)admin user名称,但我想用名称记录更改ABC user我怎样才能做到这一点?
或者
在不使用模拟的情况下,有没有最好的方法来实现这一点?
我想知道你为什么要这样做。当您使用管理员用户模拟用户 ABC 时,ABC 用户可以在系统中执行任何操作。
为什么不将 ABC 用户添加到 CM 系统并赋予用户所需的权限和权限。
据我所知,要在历史记录中记录使用 ABC 用户名称的更改,用户需要是 CM 用户。
正如@Bappi 所建议的那样,我很确定您要尝试做的事情是不可能的。对 Tridion 项目执行操作时,您有 2 个选择。要么以有权执行该操作的人的身份执行此操作,要么冒充为具有该权限的用户(即您的管理员用户)。CMS 将存储有关哪个用户执行该操作的系统元数据(这是您看到的创建或修改组件的用户)。不能(也不应该)使用 API 覆盖或修改此数据。
如果您确实需要知道谁执行了该操作,请授予他们这样做的权利(无论如何,当您给他们这个安全漏洞时,这似乎是一个奇怪的要求,也许您可以解释更多关于这背后的逻辑),或者可能会在您的架构中添加一个名为“作者”的字段,并使用您的自定义页面使用 ABC 的用户名填充它。
如果这不是一个可行的选择,您还可以考虑让用户 ABC 访问目标出版物中的某种临时文件夹,他们可以在其中使用自己的帐户(仍然通过自定义页面)制作组件,以便您获得历史记录,并且然后模拟管理员用户将其移动到所需位置。
如何将权限设置为动态发布级别?
但我想,还是有一个漏洞。
在此自定义页面运行时,如果用户访问内容管理器,他们可以看到出版物,并且可以在此时执行所需的操作。