Skip to main content

#SecureCommunities0 人がディスカッション中

Hi there, 

As part of the Guest User access impact, has anyone encountered the error

'system.VisualforceException: Update access denied for LotteryApplication__c, controller action methods may not execute.'

Because of which one had to change the existing implementation from Standard Controller to Custom Controller impl for the page used in Guest User Context?

 

so the usage of apex:inputHidden tag is causing this issue.

 

Please let me if anyone else faced such issues?

 

This has led to a lot of design changes to existing implementations related to communities using Guest User functionalities.

0/9000

Hi Experts,

 

This is just a general question, I hope you can help me.

 

With the new sharing model, we can define criteria on objects and specify which records to share using Guest User Sharing. However, we can no longer select users to share with using Public Groups.  

 

How do we go about specifying which guests can we share records with if we only have one Guest User Profile per site?  For example, if we have different kinds of guests per public site, would it be possible to specify which guests can we share the record with?

 

Thanks!

 

#SecureCommunities

#SecureMyGuestUser

1 件のコメント
0/9000

Hello,

 

Not sure if it is here that we should post, but I have enabled all the Security Updates, now we are testing our App and checking the steps that our customers need to do.

 

The scenario that I am testing is that the UserA(Admin) created Record_A in Object_A and associated it with Record_B from Object_B which our App on Post Install have created the Record_B.

 

The Record_A has owner as UserA and Created By UserA.

The Record_B has owner as our App Name, and the Created By is by the UserA.

 

When I load the VisualForcePage in Site.com with a Guest User, I cannot see the Record_B. I can see the Record_A. If I look at the log we do a query on Record_B nothing shows with the right ID, but we don't get anything.

 

I am wondering if I have missed any configuration. Any ideas?

 

Those are the configuration that I have set already:

- Sharing Settings

-- Enabled/Checked - Secure Guest user Record access.

-- Added a Sharing Rule for Object_A and Object_B for Guest User

 

- Permission on Guest User

-- Added a permission set to my guest user to access the controller, VSF and our objects.

-- Guest Profile removed all the All Modify/All View

 

Things that I have tried and worked.

 

1. If I changed the owner to be the same as the Created By, it worked. Although I don't think this is the best solution, because we didn't say that the owner will be our App.

2. If I go to the Guest Profile >> Edit >> Go to Object_B and enabled View All only, the record shows.

 

Thank you in advance!

17 件のコメント
0/9000

#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 件のコメント
  1. 2019年10月24日 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

How is everyone testing this scenario - Enabling "Hide Personal Information"

The video link says This action blocks fields from the external users and also from the API but in the context of the external user. How can we check if we have integrations relying on these fields?

4 件のコメント
0/9000

Hi,

I was testing the Guest User security changes in our sandbox. I checked off the setting and was setting up the sharing rules. However, I was unable to do so for the Salesforce Survey Response object. Our Guest Users need to be able to create responses in our organization. This object did not even come up to setup any type of sharing rules. What will happen if we do NOT check off this setting? Will it still use the permissions on the Guest User profile?

Thanks!

17 件のコメント
  1. 2019年10月16日 7:13
    Hi @George Abboud

    I think we have the same issue.

    We are not able to generate Survey Invitation after Enabling the "Secure guest user record access " in Sharing Settings.

0/9000
1 件のコメント
0/9000
0/9000
2 件のコメント
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 件のコメント
  1. 2019年10月9日 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