この記事では、サイトに許可を与える際のより複雑なユースケースのいくつかを説明しています。
- サイトメンバーになれるユーザーは?
- サイトにユーザーグループを追加する際に問題が発生しています。
- サイトメンバーにコンテンツをページに追加する権限を持たせたくない。 特定のパーミッションを取り消すにはどうすればいいですか?
- ユーザーがページにポートレットを追加できるようにするには、どのような権限を付与する必要がありますか?
- あるサイトのレギュラーロールにロール権限を付与してからLARファイルにエクスポートしたのですが、同じサイトの新しい環境にインポートすると、同じレギュラーロール権限が存在しません。 これは意図的なものなのか?
- ドキュメントとメディア] ポートレットでドキュメントを追加するための権限を削除するにはどうすればよいですか?
- サイトメンバーがアップロードした後の書類を削除しないようにしたい。 そのような権限を制限するにはどうすればいいのでしょうか?
- 設定ページの詳細メニューで、ユーザーがページにJavaScriptを追加できないようにするにはどうすればいいですか?
- 認証されていないサイトのコンテンツをゲストでも閲覧できないようにするにはどうすればいいですか?
- DXP 7.1にアップグレードした後、ゲストが一部のウェブコンテンツを表示できない?
- ゲストがコンテンツを閲覧できるようにしたい場合、どのような設定が必要ですか?
- 閲覧許可のあるフォルダ以外のWebコンテンツフォルダを閲覧できないようにするにはどうすればいいですか?
- アセットパブリッシャーに表示されるアセットにパーミッションルールはどのように影響しますか?
- のアイテムセレクタ で利用可能なアイテムを、どのユーザーやユーザーロールに基づいて選択することができますか?
解決
1. サイトメンバーになれるユーザーは?
ユーザー、組織、ユーザーグループは、サイトのメンバーになることができます。 つまり、サイト管理者が手動で個人をサイトに追加する必要はなく、特定の組織やユーザーグループのメンバーでもあるユーザーは、組織全体を追加するだけで追加することができます。
2. サイトにユーザーグループを追加する際に問題が発生しています。
通常、これは最高管理者の問題ではありませんが、あるロールが完全な管理者権限を持っていない場合にのみ表示されます。
図1. サイトメンバー画面にユーザーグループが表示されない。
再現するには: Site Configurer という名前のロールを作成し、以下の権限を与えます。
- コントロールパネル → ユーザー → ロールに移動
- 省略記号アイコンをクリック → 権限の定義をクリック
- コントロールパネル → 一般権限で、すべての権限を選択
- 保存をクリック
- コントロールパネル → サイト → サイトをクリック
- すべての権限を選択
- 保存をクリック
- サイト管理 → メンバーシップ→ サイトメンバーシップをクリック
- すべての権限を選択
- 保存をクリック
この権限のセットで十分だと思うかもしれません。 しかし、このロールにはユーザーグループのための 表示 権限がありません。 少なくとも、この Site Configurer ロールは、この追加の権限を必要とします。 (そうでない場合は、上記のようなエラーが表示されます)。
- コントロールパネル → ユーザー → ユーザーグループをクリック
-
リソース権限で、 表示のボックスにチェック
- 保存をクリック
3. サイトメンバーにコンテンツをページに追加する権限を持たせたくない。 特定の権限を取り消すにはどうすればいいですか?
Liferay Portal 6.2では、サイトメンバー権限を持つ一般ユーザーがすべてのポートレットにアクセスし、カスタマイズ可能なページにコンテンツを追加することが可能でした。 これは、Liferay Portal 6.2では、カスタマイズ可能なページは彼らにしか見えないため、意図した動作でした。
ただし、Liferay DXP 7.0では、次の手順を使用して、サイトメンバーのコンテンツ追加の許可を取り消すことができます。
- コントロールパネル → コンテンツ → ドキュメントとメディア → オプション (右上隅の3点ボタン) → ホームフォルダの権限に移動
- サイト メンバーから ドキュメントを追加する のチェックボックスのチェックを外す
- これらの手順をすべてのサイトで繰り返します
4. ユーザーがページにポートレットを追加できるようにするには、どのような権限を付与する必要がありますか?
すべてのポートレットに対応しています。
場合によります。 サイト管理者は、すべてのポートレットのパーミッションを一般的に定義することができますし、特定のアプリケーションだけを定義することもできます。
- コントロールパネル → ユーザー → ロールに移動
- 省略記号アイコンをクリック → 権限の定義をクリック
- サイト管理 → ナビゲーション をクリックしてメニューを展開
- サイトページをクリック
- ページ の部分までスクロールしてください。 少なくとも、 更新 と 表示 権限を付与して、この特定のロールがページにポートレットを追加できるようにします
- 保存 ボタンをクリックして設定を更新
ユーザーのロールが特定のポートレットに制限されるべきである場合。
- 代わりに サイト管理 → アプリケーション をクリック
- 特定のアプリケーションごとに許可を与えます。 例えば、このユーザーロールがカレンダーイベントをスケジュールする機能を持っているとします。 カレンダーをクリックします
-
ページに追加 と 表示 のチェックボックスをクリックします
- 保存 ボタンをクリックして設定を更新
5. あるサイトのレギュラーロールにロール権限を付与してからLARファイルにエクスポートしたのですが、同じサイトの新しい環境にインポートすると、同じレギュラーロール権限が存在しません。 これは意図的なものなのか?
これは、ターゲット環境に同じ正規のロールが存在しないために発生しています。 サイト・エクスポート/インポート・プロセスは、サイト・レベルでのデータの処理が制限されているため、ポータル・レベルに正規のロールが存在するため、正規のロールを引き継ぐことはできません。
サイトの権限のみを持つ特定のロールを作成したい場合は、2つの環境間で持ち越すことができる「サイトロール」を作成します。 ただし、サイトに含めたいロールが通常のロールでなければならない場合は、サイトのインポート前に新しい環境で再作成する必要があります。
6. ドキュメントとメディア ポートレットでドキュメントを追加するための権限を削除するにはどうすればよいですか?
デフォルトでは、サイトメンバー ロールを持つすべてのユーザーが、それぞれのサイトにドキュメントを追加できます。 このパーミッションは、他のすべてのサイトロールの権限をより低い権限で上書きします。 つまり、コントロールパネルのサイト管理を表示するだけの権限でサイトロールを作成した場合でも、ユーザーはドキュメントを追加できます。
ユーザーがサイトにドキュメントを追加する機能を削除するには、次のようにします。
- コントロールパネル → サイト → コンテンツ → ドキュメントとメディアに移動
-
3点アイコン (ページ右上) → ホームフォルダの権限をクリック
-
サイトメンバーでは、以下のチェックボックスのチェックを外してください
- ドキュメントの追加
- フォルダの追加
- ショートカットの追加
- 更新
- 保存 ボタンをクリックします。
この時点では、サイトメンバーに許可されているのは表示のみです。 これは、サイトメンバー ロールのみが割り当てられているユーザーでサインインすることで確認できます。 プラスボタンが見えません。 ユーザーは、アップロードされた文書が何であっても閲覧することができます。
7. サイトメンバーがアップロードした後のドキュメントを削除しないようにしたい。 そのような権限を制限するにはどうすればいいのでしょうか?
デフォルトでは、Liferay DXP 7.0の権限は、各ユーザーに、レギュラーロールの一部として、自分のドキュメントの所有権を付与します。 レギュラーロールは、完全管理者でも全く変更できません。 ドキュメントとメディアホームフォルダ内の すべての ドキュメントの すべての 権限を削除したり、変更したりする方法はありません。 しかし、管理者はドキュメントの所有者がドキュメントの削除や変更を行うことができないように、ドキュメントの所有者の権限を1つのドキュメントだけに変更することができます。
実証するために:
- 完全な管理者権限を持たないJoe Writerと言うユーザーがいると仮定します。Joe Writerがドキュメントとメディアポートレットにドキュメントを追加できるようにします。 このユーザーは、ドキュメントとメディアポートレットの オーナー ロールを常に持ちます
- Joe Writerとしてログインした状態で、ドキュメントLeaving-Feast.png-をアップロードします
- Joe Writerとしてサインアウトするか、別のブラウザを開いて管理者としてサインインしてください
- コントロールパネル→コンテンツ→ドキュメントとメディア に移動して、Joe Writerが画像Leaving-Feast.pngをアップロードしたサイトへ移動します
- 3点アイコンをクリック → Leaving-Feast.png の権限
-
ownerロールについて、以下のチェックボックスのチェックを外してください
- 削除
- コメントを削除する
- 権限設定
- 更新
- 保存 ボタンをクリックします
- 権限 ウィンドウを閉じます
- Joe Writerとして再ログインするか、Joe Writerが既にログインしているブラウザを更新してください
- Leaving-Feast.pngの3点アイコンをクリックします。 Joe Writerには画像の修正や削除の権限はありませんが、ダウンロードの権限は保持されています
フォルダ内のすべてのドキュメントを大量に編集する機能はありませんが、コンテンツ管理者が各ドキュメントに対してよりきめ細かなコントロールが可能になるという利点があります。
8. ページの詳細設定 メニューで、ユーザーがページにJavaScriptを追加できないようにするにはどうすればいいですか?
デフォルトでは、JavaScriptを追加する機能は、ロールに割り当てることができるより大きな ページの管理 パーミッションの一部です。 DXP 7.0 Fix Pack 60 と DXP 7.1 Fix Pack 3 以降では、この機能を無効にできます。
- アプリケーションサーバーをシャットダウン
- DXP 7.0 Fix Pack 60以上、またはDXP 7.1 Fix Pack 3をインストール
-
portal-ext.properties
ファイルで、以下のように入力field.enable.com.liferay.portal.kernel.model.Layout.javascript=false
field.enable.com.liferay.portal.kernel.model.LayoutSet.javascript=false
- ファイルを保存
- アプリケーションサーバーを起動
この時点ではJavaScript タブが表示されず、この機能は無効になっています。
9. 認証されていないサイトのコンテンツをゲストでも閲覧できないようにするにはどうすればいいですか?
デフォルトでは、ゲスト(資格情報のない人)は、 個別の 記事の権限がゲストの閲覧を許可していないWebコンテンツであっても閲覧できます。 ゲストでもWebコンテンツを閲覧できないようにするには、2つの方法があります。 1つ目は、記事が表示されるWebコンテンツ表示ポートレット(略してWCDと呼ばれることもあります)を設定することです。 2つ目は、記事の内容がレンダリングされたときに、その記事に対して表示権限を持っているユーザーがいるかどうかを確認するためのシステム設定です。
- WCDポートレットの設定
- Webコンテンツが表示されているページで、Webコンテンツ表示ポートレットのタイトルバーにある3つのドットのアイコンをクリック(記事タイトルのすぐ上にあるので、2つを混同しないようにしてください)
- 権限をクリック
- ゲストの 表示のチェックを外す
- 保存 ボタンをクリック
- 権限 ウィンドウを閉じる
- 管理者からサインアウト
- 通常記事が表示されているページに移動
記事はありませんという警告文があるはずです。
図8は、ゲストとしてのユーザーには記事すら表示されていないことを示しています。これは記事レベルでゲストビューが有効になっていても同じです。
注1: これはすべての記事が取得できないという意味ではなく、JSON webサービスAPIへのアクセスがあれば誰でも記事を閲覧できます。
注2: LPS-82999 は、顧客が単一メニューまたは2つの省略記号メニューのいずれかを使用してWCDポートレットのアクションにアクセスできるように変更を実装しています。 これは、Liferay DXP 7.0 Fix Pack 54 で利用できるようになりました。 重要なフィックスパックの変更を参照してください。
- システムワイド設定を設定します。
一つ一つのWCDポートレットのパーミッションをチェックするのが時間がかかりすぎるとしたら? チェックする方法があります。
- 管理者としてログイン
- コントロールパネル → 設定 → システム設定に移動
- Webエクスペリエンス タブで、 Webコンテンツクリック
-
記事閲覧許可チェックを有効にする にチェックを入れます
-
更新 ボタンをクリック
システムは、各記事がGuestに対してView権限を付与されているかどうかをチェックします。 記事にゲストビューのパーミッションが有効になっていない場合は表示されません。 これにより、コンテンツ管理者は各記事を個別に管理することができますが、認証されていないサイトに表示される記事を制御することができます。
注:Liferay DXP 7.1を使用しているお客様の場合、この設定はデフォルトで有効になっています。
10. DXP 7.1にアップグレードした後、ゲストユーザーは一部のWebコンテンツを表示できませんか?
古いバージョンのLiferay (Portal 6.0, 6.1, 6.2, DXP 7.0)のデフォルトの動作は、 Webコンテンツの"表示
"権限をチェックしません。したがって、デフォルトではすべてのゲストユーザーがすべてのWebコンテンツを表示できます。
DXP 7.1から、デフォルトの動作は常に"表示
" 権限をチェックするように変更されました。
DXP 7.1にアップグレードした後、一部のWebコンテンツが表示されなくなったユーザーがいる場合、2つのオプションがあります。
-
オプション1: 手動でWebコンテンツやロールの権限を変更し、必要に応じて"
表示
"権限を付与します - オプション 2: システム設定 > Webエクスペリエンス > Webコンテンツに移動して、すべてのWebコンテンツの記事の表示許可を開き、記事の表示許可のチェックを有効にします。
参考情報:
11. ゲストがコンテンツを閲覧できるようにしたい場合、どのような設定が必要ですか?
ゲストがアセットの表示を許可されている状況では、次のレベルのアクセス許可を確認する必要があります。 最も一般的なものから最も具体的なものまでリストされています。
- ページレベル
- ポートレットレベル
- フォルダレベル(ドキュメントやメディア、Webコンテンツなど)
- アセットレベル
その理由は、最も低いレベルの粒度がパーミッションに優先するためで、ページ、WCDポートレット、さらにはフォルダーにゲストのパーミッションが有効になっていても、Webコンテンツの記事は、その記事にもゲストの表示が許可されていなければ表示されません。逆の場合も同じことが言えます。ゲストの閲覧権限が与えられた記事は、上位者がそれらの媒体を通して閲覧しようとしたときに、その権限を持っていなければアクセスできません。つまり、「ページA」がゲストの表示権限を持っていなければ、ゲストはそのページを見ることができませんが、「ページB」がゲストの表示権限を持っていれば、そのコンテンツがゲストの表示権限を持っている限り、ゲストはコンテンツを見ることができるということです。
簡単に言うと、アセットが表示されていない場合は、各レベルのパーミッションを確認するようにしましょう。
11. 閲覧許可のあるフォルダ以外のWebコンテンツフォルダを閲覧できないようにするにはどうすればいいですか?
Webコンテンツフォルダを作成することで、管理者はWebコンテンツの記事を適切なバケツに整理することができます。 機密性の高いコンテンツや機密性の高いコンテンツは、異なる役割に付与された権限によって非表示にして管理できるという追加の利点があります。 Liferay DXPでは、1つのフォルダを見る権限を持つユーザーは、すべてのサブフォルダを見ることができます。 ユーザーが他のフォルダにアクセスできないようにするために、次のような権限を実装します。
- 管理者としてログインし、コントロールパネル → ユーザー → ロールをクリック
- +記号をクリックしてロールを作成します。 デモ目的では、レギュラーロールを使用します
- 名前を Test Role 1 とする Regular Role を作成します。 ロールが作成されたら、その横にある 3点アイコン → 権限の定義 をクリック
- コントロールパネル →サイトで、 サイト管理メニューを表示 のチェックボックスにチェックを入れ、 保存をクリック
-
サイト管理 → コンテンツ → Webコンテンツの下にある、チェックボックスにチェックを入れる
- サイトとアセットライブラリ管理にアクセス
- リソース権限 → Webコンテンツ
- リソース権限 → Webコンテンツ
- 保存をクリック
- 権限は4つしかないはずです
- 次に、管理者権限を持たないユーザーをTest Role 1に割り当てます。標準ロールを使用する利点は、ロールページでTest Role 1をクリックした後、そのロールに割り当て人を簡単に追加できることです。担当者を追加ボタン((+)ボタン)をクリックして、ユーザーを選択します
ここからが肝心なところです。
- コントロールパネル → コンテンツ → Webコンテンツに移動します
- 人がどのロールを持っているかに関係なく、誰でもホームフォルダとその内容を見ることができます
- Folder 1というフォルダを作成します。 実際のコンテンツを作る必要はありません
- Folder 1の横にある3点アイコン→権限をクリックします
- ゲストの表示チェックボックスをオフにします。 オーナーとTest Role 1以外の権限があってはならないので、これは重要です
- その他の権限もすべて削除し、保存をクリックします
- 管理者からサインアウトし、Test Role 1 の任意のユーザーでサインインします
- 再度、 コントロールパネル→コンテンツ→Webコンテンツ に移動します
Folder 1を見ることができないようにしてください。 このユーザーは、管理者がTest Role 1の表示許可をチェックすると、再度フォルダを見ることができます。
12. アセットパブリッシャーに表示されるアセットに権限ルールはどのように影響しますか?
これまでのいくつかの例では、質問では、通常、Webコンテンツ表示ポートレットを介して表示されるWebコンテンツ記事について説明しました。 しかし、アセットがアセットパブリッシャーのポートレットから表示されるケースもあり、ユーザーはルールが違うのではないかと疑問に思うかもしれません。 上述したように、最小レベルの粒度がパーミッションに優先されます。 アセットパブリッシャーポートレットにゲスト表示権限が付与されているにもかかわらず、アセットが表示されていない場合は、ポートレットにアセットが表示されません。 つまり、Webコンテンツ表示ポートレットのパーミッションルールは、アセットパブリッシャーポートレットでも同じです。
最後に、アセットパブリッシャーポートレットの1つの機能として、管理者がポートレット内でアセットの権限を変更できるようになっています。ポートレット内の 3 点のアイコンをクリックし、権限をクリックします。 これにより、権限メニューが開きます。
13. アイテムセレクターでどのアセットを利用可能にするかを、どのユーザーやユーザーロールに基づいて選択することはできますか?
場合によります。 DXP 7.xでは、アイテムを表示する権限を変更する機能は ドキュメントとメディアポートレットのみにあります。 そのアイテムがそのユーザーに割り当てられた ロール (サイトでも通常のユーザーでも) で利用できるようになった場合、そのアイテムは 常に オプションとして、そのユーザーや同じロールや権限を持つ他のユーザーのために WC 記事やブログのエントリに埋め込むことができます。そうでなければ、Webコンテンツやブログのポートレットや他のアセット作成ポートレットのパーミッションを変更する方法は他にありません。
DXP およびレガシー Portal 6.x では、常にユーザーロールのアセット権限が設定されていることに注意してください。 DXP 7.xでは、異なるユーザー (例:John Smith)に対して異なるアセットを表示するように設定することはできません。 そうしないと、権限が細かすぎて管理が大変になるというリスクがあります。例えば、システムに5万人以上のユーザーがいる場合、特定のユーザーがXグループの画像を見ることはできるが、Yグループの画像を見ることはできないようにプラットフォームを設定するには、長い時間がかかります。むしろ、どのロールが特定のアセットを見ることができるかを管理して、そのロールにユーザーを割り当てる方が簡単です。
追加情報
ロールや権限、サイト管理の詳細については、このページの上部にある 関連記事 セクションにリンクされているドキュメントを参照してください。