-1

I would like to have a custom access management API run when I try to access any item in a Sharepoint List. The custom API would take an item metadata as a parameter and return a boolean if the list item is accessible for the current user and then Sharepoint should use the same to allow access to the item. Is this a possibility in Sharepoint? If not what is the closest that I can achieve?

  • Sounds like that would be a nightmare to administer and your Sharepoint user groups would not be very useful, due to the vast number of security exceptions that your approach would create. I would suggest managing security through user groups (Read, Edit etc). If certain List Items require a different kind of security, could you move them to a separate secure list? – Tally Sep 20 '18 at 8:50
  • Thanks for the input. I do understand it would be an administration sore point. – Codecrasher99 Sep 20 '18 at 10:24
1

In SharePoint we have Item Level Permission, so based on Group or user you can assign unique permission to the item.

Please refer these articles

https://sharepointmaven.com/how-to-enable-item-level-permissions-in-sharepoint/

https://support.office.com/en-us/article/edit-and-manage-permissions-for-a-sharepoint-list-or-library-02d770f3-59eb-4910-a608-5f84cc297782

Edit: As per comment by Codecrasher99 updated the Answer

As you are looking to verify with a third party based on a column value in the List item.so that means user will access the List item View after this third party API will get called and if no Access it will redirect user again back to list or else it will stay at Item View page. to Achieve this you have following methods :

Option 1 :You can attach a JSLink to your fields and in that javascript you can write js code to call your third party API and validate.

below are few code samples available using JSLink

https://code.msdn.microsoft.com/office/Client-side-rendering-JS-2ed3538a

Option 2 :SPFx extension field Customizer

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/building-simple-field-customizer

With JSLink i have done a similar code where we need to query User profile service when user enter the username and populate other data in columns. so it was achievable.

  • Item level permissions means that the permission management is done by Sharepoint. What am I looking at is to delegate the permission management to a third party? Sharepoint just calls the third party to seek a go or a no go? Of course basic security like does the user even have access to the sharepoint site still exist and are controlled by Sharepoint. But the moment the user starts accessing items the permission management should be delegated to a third party. – Codecrasher99 Sep 20 '18 at 8:13
  • You can use SPFx Field Customize or JSlink concept to call Third party API while user click on the View Item of SharePoint List Item – vinit kumar Sep 20 '18 at 8:40
  • Let me clarify it further. I would like to do the following. 1) Call the sharepoint rest api to access the metdata of the item (can I even access an items metadata if I dont have access rights to view the item contents) 2) Pass the same to my custom permission api. 3) If the api returns true then and only then should sharepoint allow me to view the item contents. – Codecrasher99 Sep 20 '18 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.