0

私はセールスフォースフレームワークを初めて使用します。しかし、私は以前に Web 開発に非常に積極的でした。フィールド レベル、オブジェクト レベル、レコード レベルでも多くの練習を行いました。しかし、このシナリオにどう対処すればよいかわかりません。

私はオブジェクトホテル(複数のホテル)を持っており、「ユーザーに関連する」マネージャーを参照するルックアップフィールドを持っています。したがって、マネージャーは私が作成したユーザーです。「allan」と「steve」は、それぞれホテル「hotel-abc」と「hotel-xyz」のマネージャーです。いずれかがログインすると、両方のホテルの記録が表示されます。

しかし、私が望むのは、アランがログインすると、「hotel-abc」レコードが表示され、その逆も同様です。ここではフィールドレバーとオブジェクトレバーのセキュリティが適用できないことは知っていますが、レコードレバーも機能していません。いくつかのハードコード条件に非常に固有であるため!

前もって感謝します。

4

1 に答える 1

0

ホテルの共有設定がプライベートに設定されていると思います。これにより、所有者と、所有者がレコードを共有することを選択した人への可視性が本質的に分離されます。また、あなたの説明に基づいて、「アラン」と「スティーブ」がレコードレベルのセキュリティを推進するレコードの所有者であると想定しています。

ただし、カスタム コーディングと頂点コード クエリのコンテキストからこれを見ている場合は、現在のユーザー セキュリティ コンテキストがすべてのクエリに適用されるように、クラスが「共有あり」としてマークされていることを確認する必要があります。そうしないと、クラスがシステム コンテキストで実行されている可能性が高いため、すべてが表示される可能性があります。

つまり 、現在のユーザー コンテキスト: SomeClass を共有するパブリック クラス{}

システム コンテキスト: SomeClass を共有しないパブリック クラス{}

于 2012-07-20T16:57:31.930 に答える