1

我有一个关于使用 Interops dll 处理自定义页面上的用户访问的说明。

以下是场景:-

  1. ABC user没有任何访问权限CM (注意:ABC 用户是 tridion 用户)
  2. 如果 ABC 用户访问自定义页面,用户应该被模拟为管理员用户
  3. 现在 ABC 用户将创建/更新组件/页面并发布组件/页面
  4. 但问题是组件/页面的历史显示名称的admin user名称,但我想用名称记录更改ABC user

我怎样才能做到这一点?
或者
在不使用模拟的情况下,有没有最好的方法来实现这一点?

4

3 回答 3

4

我想知道你为什么要这样做。当您使用管理员用户模拟用户 ABC 时,ABC 用户可以在系统中执行任何操作。

为什么不将 ABC 用户添加到 CM 系统并赋予用户所需的权限和权限。

据我所知,要在历史记录中记录使用 ABC 用户名称的更改,用户需要是 CM 用户。

于 2012-04-23T11:19:27.563 回答
2

正如@Bappi 所建议的那样,我很确定您要尝试做的事情是不可能的。对 Tridion 项目执行操作时,您有 2 个选择。要么以有权执行该操作的人的身份执行此操作,要么冒充为具有该权限的用户(即您的管理员用户)。CMS 将存储有关哪个用户执行该操作的系统元数据(这是您看到的创建或修改组件的用户)。不能(也不应该)使用 API 覆盖或修改此数据。

如果您确实需要知道谁执行了该操作,请授予他们这样做的权利(无论如何,当您给他们这个安全漏洞时,这似乎是一个奇怪的要求,也许您可​​以解释更多关于这背后的逻辑),或者可能会在您的架构中添加一个名为“作者”的字段,并使用您的自定义页面使用 ABC 的用户名填充它。

如果这不是一个可行的选择,您还可以考虑让用户 ABC 访问目标出版物中的某种临时文件夹,他们可以在其中使用自己的帐户(仍然通过自定义页面)制作组件,以便您获得历史记录,并且然后模拟管理员用户将其移动到所需位置。

于 2012-04-23T11:47:24.383 回答
1

如何将权限设置为动态发布级别?

  1. 在加载自定义页面时,设置用户对特定出版物的权限。
  2. 操作完成后,删除用户的权限。

但我想,还是有一个漏洞。

在此自定义页面运行时,如果用户访问内容管理器,他们可以看到出版物,并且可以在此时执行所需的操作。

于 2012-04-23T12:47:47.733 回答