問題
- フォームアップロードフィールドに文書が追加されると、「ゲスト表示」権限が付与されます。
- ドキュメントがドキュメントとメディアライブラリに直接追加された場合、「ゲスト表示」権限はありません。
- フォームからアップロードされたファイルの「ゲスト表示」権限を常に無効にする設定オプションはありますか?
環境
- Liferay DXP 7.4
- 四半期ごとのリリース
解像度
permissions.view.dynamic.inheritance=true
このプロパティが何をするかです:
# Set the following to true to automatically check the view permission on
# parent categories or folders when checking the permission on a specific
# item.
#
# For example, if set to true, to be able to have access to a document,
# a user must have the view permission on the document's folder and all its
# parent folders.
次のユースケースを考えてみよう:
- プロパティ:
dl.show.hidden.mount.folders=trueを追加して、ドキュメントとメディア(後で必ず削除してください) - アップロードフィールドを持つフォームを作成する
- 管理者として、フォームからファイルを送信する。
- Documents & Media > com.liferay.dynamic.data.mapping.form.web > Forms > test("test "はデフォルトの管理者ユーザーで、各ユーザーはフォームからアップロードされたファイル用の自分のフォルダを持ちます。)
- ファイルの情報を確認する > 最新バージョンのURL
- ゲストとしてURLを開く
結果
パーミッションを確認してください:このファイルは、Guest ユーザーの View アクセスが有効になっています。 親フォルダであるcom.liferay.dynamic.data.mapping.form.web、Forms 、test フォルダも同様です。
permissions.view.dynamic.inheritanceプロパティに基づき、File が Guest ビュー権限を持っていても、親フォルダのいずれかがビュー権限を持っていなければ、そのファイルはビュー権限を持っていないはずです。 com.liferay.dynamic.data.mapping.form.webフォルダからView権限を削除し、ゲストとして最新版のURLを再度呼び出してください。
結果:ゲストユーザーはファイルにアクセスできず、ログインプロンプトが表示されます。