web-dev-qa-db-ja.com

Drupal Commerceビュー)での私の製品許可問題の説明は何ですか?

Views の一部の権限と製品表示に非常に混乱しています。多分あなたは私がそれを理解するのを助けることができます。

私は製品のディスプレイを表示しようとしています。ビューには、参照されている製品フィールドの関係を含めているため、参照されている製品のフィールド(画像、SKU、価格など)を取得できます。

ビューを保存し、管理者としてビューのページに移動すると、ビューは正しく表示されますが、認証されたユーザーまたは匿名としてビューにアクセスすると、ビューにアイテムが表示されません。

それで、許可設定ページに行き、許可「View any product of any type "匿名および認証済みユーザー用。

これを行うと、通常のユーザーと匿名はビューを正しく表示できます。しかし、そのアクセス許可を構成している間、それは言う:

"Warning: Give to trusted roles only; this permission has security implications."

だから私は私が物事を正しく行っているかどうかわかりません。また、製品の表示を表示し、参照されている製品フィールドを取得して、匿名ユーザーと通常のユーザーに表示する方法を教えてください。

2
svelandiag

はい、管理者以外のユーザーにコマースビューを表示するように適切に変更します。 ここ 彼らはそれがダミーの許可であることを発見し、パッチを提供しました。将来の商用バージョンには含まれると思います。

1
Nikit

以下は、あなたの「...に対処するための別の推奨事項です。許可設定ページに移動し、許可を確認しました」View any product of any type "匿名ユーザーと認証済みユーザーの場合" ...とあなたの "だから私がやっているかわからない正しく "。

(古い) Drupal Commerce の問題 " 関係を使用しているときに非特権ユーザーの結果が空になる:コンテンツ:参照製品 "を見てください。特に comment nr 158 で書かれていること、すなわち:

ビューを編集します:> "詳細設定"> "クエリ設定":「クエリの書き換えを無効にする」にチェックを入れます

したがって、そのアクセス許可を付与する代わりに(質問のように、「通常のユーザーと匿名がビューを正しく表示できるように」)、上記のようにこれらの高度なクエリ設定を適用するだけで十分な場合があります。もしそうなら、その恐ろしい警告でその許可を与えるよりもずっと良いでしょう。

実際の問題が何であるか(そしてこれが回避策にすぎない理由)についての詳細が必要な場合は、同じ問題の comment nr 101 を参照してください。

問題は商取引ではありません。これはノードアクセスの問題であり、ノードアクセスモジュール(OGやドメインアクセスなど)でビューの関係を使用し、ユーザーがアクセスできる関連アイテムがない場合にトリガーされます。簡単な回避策は、SQL書き換えを無効にすることです。これにより、ビューがすべての結果を取得し、node_accessルールを無視できます。もちろん、これにより、ユーザーがアクセスしてはならないコンテンツが表示されます。

2
Pierre.Vriens