I am working on an issue tracking list inside my SP 2013 team site, and i need our current sub site admin to be able to modify only specific site columns at the list level. the problem i am facing is that when the sub site admin go to "List Options >> List setting" then under "Column" they can modify all the columns,, so is there a way to hide columns that i do not want sub site admin to modify at the list level ?


  • 3
    No OOB way available for column-wise security. May 26, 2015 at 16:28
  • so how i can approach this? i mean my list contains 10 site columns, 8 of them are shred among all the sub sites and are managed from the site collection level, while 2 columns are list specific . so i do not want sub site admin to be able to modify any shared column at the list level. i know this will not affect other sub sites,, but i want the 8 shared column to only be managed from the site collection level,, while the renaming 2 site columns are list specific and i want sub site admin to be able to modify them ,
    – John John
    May 26, 2015 at 16:44

1 Answer 1


Based on previous answers the approach I can think of is to add an event receiver which checks who the user is as denies the change if they are not allowed. You could use the SPListEventReceiver FieldUpdating event.


You would need to bind on all lists where these fields are in use.

Another alternative is training and tell them not to change these fields.

  • thanks a lot for your valued reply.ok i can inform sub site admins not to modify these fields at the list level, and i will be modifying them from the site collection level instead. then in this way as i mentioned before my current approach will be:- the list have 10 site columns; 8 of them are managed from the site collection level (to be more specific should only be managed from the site collection level), while the other 2 columns are list -specific and can be modified at the list level,,
    – John John
    May 26, 2015 at 22:14
  • .... so my first question is this a valid approach and recommended approach to have 10 site columns at the same list but are managed differently ?. second question is it a better approach if i define the 2 site columns as list columns instead of being site columns since they are list -specific fields and will have list-specific values and settings for each list , or as a general rule having all the columns at the site collection level is better ?
    – John John
    May 26, 2015 at 22:14
  • I don't think I have seen any MS guidance on the subject. Sometimes you just have to just think about what is available to you. Another approach and this will depend on how much admin your site admins need to do is you could reduce there permissions at the list level and then give them a custom page to make the necessay admin field value changes. However the event receiver is quicker and easier to implement.
    – Simon Doy
    May 27, 2015 at 6:19
  • As for site column versus list column if the fields are being used for the same purpose, holding similar data then I would keep them at site collection level. you can take advantage of the standardised structure for example in search results. Also the admin from your perspective is easier.
    – Simon Doy
    May 27, 2015 at 6:22
  • As a rule MS suggest that you try and keep things like metadata up at the site collection level as much as possible so you can reuse and admin from one point. If you think about permissions that is also the same try and keep permissions set at the top level unless you need to restrict access to a certain area.
    – Simon Doy
    May 27, 2015 at 6:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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