1

Interops dll を使用したカスタム ページでのユーザー アクセスの処理に関連する説明があります。

以下はシナリオです: -

  1. ABC userアクセス権はありませんCM (注: ABC ユーザーは tridion ユーザーです)
  2. ABC ユーザーがカスタム ページにアクセスする場合、ユーザーは admin ユーザーと偽装する必要があります
  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が示唆しているように、あなたがやろうとしていることは不可能だと確信しています。トリディオン アイテムに対してアクションを実行する場合、2 つの選択肢があります。アクションを実行する権限を持つユーザーとして実行するか、権限を持つユーザー (つまり、管理者ユーザー) になりすます。CMS は、アクションを実行したユーザーに関するシステム メタデータを保存します (これは、コンポーネントを作成または変更したユーザーです)。このデータは、API を使用して上書きまたは変更することはできません (すべきではありません)。

誰がアクションを実行したかを本当に知る必要がある場合は、その人にその権利を与えるか (とにかくこのセキュリティ ループ ホールを彼らに与えるのは奇妙な要件のように思えます。おそらく、この背後にあるロジックについて詳しく説明することができます)。 「作成者」というスキーマにフィールドを追加し、カスタム ページを使用して ABC のユーザー名を入力します。

それが実行可能なオプションでない場合は、ユーザー ABC にターゲット パブリケーション内のある種の一時フォルダーへのアクセス権を付与することも検討できます。このフォルダーでは、ユーザーが自分のアカウントで (カスタム ページを介して) コンポーネントを作成できるため、履歴を取得できます。次に、管理者ユーザーになりすまして目的の場所に移動します。

于 2012-04-23T11:47:24.383 に答える
1

その場でパブリケーション レベルへのアクセス許可を設定するのはどうですか?

  1. カスタム ページの読み込み時に、特定のパブリケーションに対するユーザーのアクセス許可を設定します。
  2. アクションが完了したら、ユーザーから権限を削除します。

しかし、まだ抜け穴があると思います。

このカスタム ページの実行中に、ユーザーがコンテンツ マネージャーにアクセスすると、パブリケーションが表示され、その時点で必要なアクションを実行できます。

于 2012-04-23T12:47:47.733 に答える