I'm building a basic sites page that displays a bunch of widgets based on a contacts address. It references code in a managed package, so I don't have the ability to use without sharing in the extension. I've done the following setup to so the Sites user can see contacts:
- Contact Read perms on Guest Profile
- Contact FLS perms on Guest Profile
- Org-Wide Sharing Model Defaults for Contacts is Controlled by Parent
- Org-Wide Sharing Model Defaults for Accounts is Public Read/Write
However, when the page is viewed in sites only contacts owned by the guest user can be seen. Any other contacts cause an "Authorization Required" error. Does the Sites Guest user have a special consideration when it comes to the sharing model? Is this documented anywhere? What are my options for making all contacts visible to the guest user if I'm not able to modify the apex to do with sharing?
A highly simplified example page
<apex:page standardController="Contact" extension="mp.extension">
{!Contact.LastName}
</apex:page>