У нас есть настраиваемая страница загрузки для библиотеки документов. На странице загрузки у нас есть одно поле выбора людей (пользователь может ввести несколько идентификаторов пользователей) Дизайн для выбора людей
<SharePoint:PeopleEditor ID="pplApprovers" runat="server" Width="250px" Height="25px" MultiSelect="true"/>
чтобы получить идентификатор emp из средства выбора людей, мы используем приведенный ниже код
public ArrayList approversArray;
public SPFieldUserValueCollection approversCollection;
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
ArrayList aAccount1 = new ArrayList();
approversArray= pplApprovers.Entities;
approversCollection = new SPFieldUserValueCollection();
SPUser user;
SPGroup group;
SPUser currentUser;
SPWeb web=SPControl.GetContextWeb(Context);
currentUser=web.CurrentUser;
ArrayList aAccount = new ArrayList();
aAccount = pplApprovers.Accounts;
ArrayList peEntities = pplApprovers.Entities;
approversArray = pplApprovers.ResolvedEntities;
foreach (PickerEntity entity in approversArray)
{
if (entity.EntityData["PrincipalType"].ToString() == "SharePointGroup")
{
group = web.SiteGroups[entity.Key];
approversCollection.Add(new SPFieldUserValue(web,group.ID, group.Name));
}
else
{
//handles SecurityGroup, Distribution List and User
user = web.EnsureUser(entity.Key);
approversCollection.Add(new SPFieldUserValue(web,user.ID, user.Name));
}
}
});
catch (Exception ex)
{
// Manage error event
}
и после получения этого значения мы вставляем его в библиотеку документов.
item.Item["Account Partner"]="approversCollection";
но после нажатия кнопки загрузки единственный пользователь, у которого есть доступ администратора сайта, может успешно загрузить файл, но другой пользователь, у которого нет прав администратора, будет перенаправлен на https://web/_layouts/AccessDenied.aspx страница
Мы пробовали использовать SPSecurity.RunWithElevatedPrivileges, но безуспешно ...
Кто-нибудь, пожалуйста, дайте мне знать, как решить эту проблему или альтернативный способ использования средства выбора людей
RunWithElevatedPrivileges
. - person Chris Farmer   schedule 27.04.2012