Skip to main content

#Securesites0 diskutieren mit

#SecureCommunities #Securesites  - We need confirmation on two queries for Guest Profile Changes - can't have View All, Modify All and edit Records after Winter20 security changes are enforced,

 

1) https://help.salesforce.com/articleView?id=networks_secure_guest_user_sharing.htm&type=5 document says when "Secure guest user record access" is enabled all objects will be set to private and access can't be changed. It means on 1st March 2020 all objects will be auto converted into private sharing model and all permissions with view all/modify all/edit will be removed. Please confirm what will happen with old records/configurations/permission-set/profiles/sharing rules/public groups?

 

2) Guest user can only view records using groups - that means edit NOT allowed either for custom or standard objects. The only way to achieve record edit is using apex without sharing model.

 

Thanks for all the help.

15 Kommentare
  1. 24. Okt. 2019, 17:58
    @George Abboud Makes sense and sound like it follows the standard pattern. I can't think of an example off the top of my head but I know if you have a permission set that has a permission that Site Guest User can't have and you assign the permission set to the User, that is ignored. So, View All and Modify All will now be ignored.
0/9000

#SecureCommunities  #Securesites #SecureMyGuestUser 

 

We are preparing our products suite for Winter20 security changes and facing issues with Site inserting and retrieving record in same context/transaction.

 

@George Abboud - Based on your recommendation, Read access will need to be granted via Guest Sharing Rules, and Edits will need to be done via Apex methods running in without sharing mode. But this does not work when Site inserts a record and retrieve that record in same context. Please check below implementation for creating and updating Contact from site -

  1. Guest sharing rule on contact with criteria created by user not equal to null. Technically, Site guest user should be able to read all contacts.
  2. Site guest user insert contact and retrieve contact in with sharing class. Technically, this should work because site user has create contact permission on profile and sharing guest rule to read created contact. But no contact is retrieved, please check below snippet code:

//Step 1- insert from site

contact c = new Contact();

c.lastname = 'Test';

insert c;

           

//Step 2 - retrieve from site

c = [Select Id,LastName from Contact Where Id = :c.id];

 

We are not able to retrieve inserted contact and due to this we need to move our read logic into without sharing apex class for sites. We want to highlight this because Appexchange Security review team does not allow without sharing apex and takes months to approve.

 

Please share your thoughts.

 

Thanks

Manish

2 Kommentare
  1. 9. Okt. 2019, 21:21
    Thanks @George Abboud

    - Use case is about automating creation of multiple records. Let say on creation of contact many other child records get created from different packages which fires series of trigger and child record trigger query agains to checks for parent contact data(that should always exists) for some manipulation.

    Again many thanks for the article, it helped us to understand the exact reason for failure.

0/9000