1

I have the below requirement in SharePoint Online and On-prem versions:

A custom list is to be maintained where users can edit only items that were created by him/her. Enabling unique permission for each item is not an option as the list is expected to have large number of item. Also, the user should be able to add new items. If a user tries to edit items created by other user, he/she should get an error message informing that this action is not allowed.

Could you please suggest if this is possible by using any dev options in SharePoint and/or Power Platform?

2 Answers 2

2

There is an option under the advanced properties of a list that I think does exactly what you want. Just click the 3 dots next to a list in your site contents, click Settings and click Advanced Settings.

enter image description here

2
  • Tried this but it did not work for the user I tested it with. That user is an Owner of the Sharepoint site but only a Member of the Sharepoint list. He still had full editing permission on the item even after I selected the "Create items and edit items that were created by the user" option. Is that due to permission inherited from the site level? Commented Sep 10, 2024 at 23:41
  • That’s probably the case yes. I suggest you try creating a test user and add it to the site visitors/members and see if this solves your issue. Owners and administrators of sites can, as far as I know, always see all contents in a site they have those permissions on. Commented Sep 12, 2024 at 6:27
1

This can be achieved with help of item level permission on list or library.

  • Use below step to enable through SharePoint UI.
  1. Go to list settings-> Advanced settings-> enable below settings from screen shot.

Item Level Permission

  • Use below PnP PowerShell to enable this settings.
 # connect to sharepoint online site Connect-PnPOnline -Url "https://Your-SharePoint-Site" -Interactive # List name $ListName= "Travel requests" # get the list $List = Get-PnPList $ListName -Includes ReadSecurity # set list item-security $List.ReadSecurity = 2 # read items that were created by the user $List.WriteSecurity = 2 # create items and edit items that were created by the user $List.Update() Invoke-PnPQuery 

Where:

  • Create and edit All items: 1
  • Create items and edit items that were created by the user: 2
  • None: 4

Please note, These settings will not have any effect for Site owners and administrators!

4
  • Thanks for the reply, this certainly works for lists. Is there anyway to implement the same in SharePoint Online Document library? Commented Mar 14, 2022 at 10:26
  • For document library you can not enable it through UI. Use PnP PowerShell from above answer. thanks Commented Mar 14, 2022 at 10:48
  • Thanks for the response. If we use PS script to enable this feature, it hides all documents created by other users. Is it possible to to keep read only permission on docs uploaded by other users? Commented Mar 14, 2022 at 11:59
  • above script will enable the item level permission. in case if you want apply unique permission - refer this Microsoft docs support.microsoft.com/en-us/office/… Commented Mar 14, 2022 at 12:14

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.