I enabled "Secure guest user record access" in my sandbox & created a sharing rule on a custom object for the guest account. I am able to see records whose owner is set to my website's guest user account. The guest user cannot see records that are owned by other users.
-
Best guess is that the sharing rule is not setup correctly. If the GSU owns the record, they will have implicit visibility - so I would take another look at the sharing rule– BritishBoyinDCCommented Feb 18, 2020 at 14:16
-
I found that the sharing rule was correct. My problem was occurring because my guest profile didn't have View All access on the custom object.– Michele KleinhomerCommented Feb 18, 2020 at 15:09
-
1@MicheleKleinhomer - View All Access will be REMOVED for guest users in Spring/summer 20. That is not a viable solution. We have seen the same behavior on ONE of our object and the only fix was the view all. So just saying I have seen this before. For us it is consistent with ONE object across all installations of our package. So there is a bug or something there. Luckily the access is only needed via code so we had the without sharing option as a fix– EricCommented Feb 18, 2020 at 15:12
-
1It is also important to not for those testing in scratch orgs, enabling the "Secure Guest User Access" option DOES NOTHING. It does not work (as of yesterday). So if you are testing in a scratch org you need to manually set everything you can to private and remove all sharing rules. Also change all perm set options to read only to mimic what the expected behavior is– EricCommented Feb 18, 2020 at 15:14
-
Thanks for the update about View All. That leads me back to my problem... I am puzzled by the custom object I am working on. I have two records that appear identical - one whose owner is Guest and one whose owner is a System Administrator. The guest user can see both of those records without the View All option but cannot see other records that have the same owner (not Guest User). I am feeling like the Sharing rule isn't working correctly. It is a very basic one, though. It simply says if a field is true to share it.– Michele KleinhomerCommented Feb 18, 2020 at 15:30
|
Show 3 more comments
1 Answer
To solve my problem, I created a sharing rule on my custom object. The sharing rule was comparing a network id custom field to a network id. When I had the rule say networkid=0DB6A000000UA3FWAW, the sharing rule did not work. However, when I used networkid starts with 0DB6A000000UA3FWAW, it worked.