Daily Archives: January 10, 2013

I guess most of you aware of how to use Sharepoint PeoplePicler control in your sharepoint solutions.If not here is a perfect blog http://karinebosch.wordpress.com/sharepoint-controls/peopleeditor-control/ i found while i was struggling. As it says we can bind either, User, SPGroup or SPSecurityGroup. But the real game starts when you are an amateur to Sharepoint and so badly wanted to bind a DL to Peoplepicker and use. So here is the way i came across.

Senario:

Add a DL using PeoplePicker and store it in a List. Then later get the users of the DL (Eg: mail address etc.)

Solution:

First add the following Line to the Picker control. Note the Selection set.

What i was faced was, i wanted to remove a row from the SPList using SPSecurity.RunWithElevatedPrivileges . My WebApplication was Claims Based, and i was able to perfectly remove an item from the list when i perform it using my own credentials. The problem occurred when another person tried to do the same operation using his credentials.

Here the problem was, whenever we take the SPWeb instance using

SPWeb oWeb = SPContext.Current.Web;, then SPWeb instance still running under anonymous account only , because we are taking it through the current web context in which the current user is running under anonymous account (IUSR_MachineName). That was the reason that we got that “Access Denied” exception. We need to remember this point all time whenever we use RunWithElevatedPrivileges under the web context.

So what we need to that, we have to take the current context outside the SPSecurity.RunWithElevatedPrivileges block and then create a new instance of SPSite and SPWeb inside the that block which will run under application pool identity.