1

Here is my problem, I needed to hide 1 column in forms and views to customers. More precisely, I need to hide 1 column to Members/Visitors groups in forms (New/Edit/Display) and in all my list views while Site Owners can still see that column. This column contains sensitive datas, and my company doesn't want customers beeing able to see it.

I found a solution : CleverWorkarounds

It's perfect, it works, I have 2 accounts for my tests (one with "Site Owner" rights, and the other with "Contribute" rights), when I'm logged with my "Member" account, it hides me the column in the 3 forms (Edit/New/Display), while it doesn't hide it to my "Owner" account. Ok, good no? No, the problem is in the Edit and Display forms only (not New item Form, dunno why...), the button "Site Action" appears in those forms while I'm logged with my Members account, and it should not! The user has now access to the Edit Page menu, beeing able to see my Web Parts/Scripts.. When I delete the Web Part (the one allowing me to hide the column), the button desappears.

This solution allows me to hide the column in forms, but I can't hide it in all my views, I don't know how to do it. I have to hide one column to a specific SharePoint Group in Forms (New/Edit/Display) and in all my Views.

I searched everywhere, I can't find a way to fix it.

Just for information, I'm using MOSS (SharePoint 2007), without Site Administrator permissions, just "Site Owner". I have a strict access to software like SharePoint Designer, or others solutions. I'm just an intern Designer, working on a collaborative web portal/intranet already built, my mission is to customize and create a list (with easy understanding/using) for customers/employees.

Sincerely, a desperate intern...

  • Please remove the parts from your first question regarding the same problem as above for this to not be considered a duplicate anymore – Robert Lindgren Jun 16 '14 at 7:49
  • I was waiting to post my 2 questions before deleting my old one. It's ok now? – Funnybear Jun 16 '14 at 7:58
  • Yupp now it looks fine :) – Robert Lindgren Jun 16 '14 at 8:50
1

There is no OOTB feature in sharepoint that let's you hide columns from specific users based on permissions. If you want to do that, you have to create script code with MS powershell on your server farm to do this. As an intern, I don't think you would have access to modify code on the server farm, so there really isn't much you can do as far as I am aware. However, if you discover you can get on the server (yay access rights), then I will post some code to (hopefully) help you understand how to do it.

  • That's what I thought...Anyway, thank you for this clarification. I will give this feedback to my superiors. – Funnybear Jun 16 '14 at 9:32
0

You can use workaround - create two lists. First of them should has unique permission for the specified user, second - lookup column to the first list. In this case the user can see data from second list and data from first list which are allowed by permissions.

  • The problem is that my list will be templated in order to be deployed in others collaborative web portal/intranet. Is it doable with 2 lists, without modify them in every future web portal/intranet? – Funnybear Jun 16 '14 at 11:58
  • I think so. One bad thing is you mast specify lookup values first and then select them in the lookup field. – Alexander Jun 16 '14 at 12:16
  • I'm not very familiar with lookup columns. I'll take a look. – Funnybear Jun 16 '14 at 12:29
  • Do you have some additional articles/informations that could help me for this workaround? – Funnybear Jun 16 '14 at 13:19
  • @Funnycuni Will you be saving the list as a template to deploy it to the other sites? Lookups won't work with this method, since the list using the lookup field will be looking for the original list on the original site. – Erin L Sep 28 '15 at 17:44

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.