2011-01-19 8 views
1

В настоящее время я разрабатываю веб-страницу sharepoint для отображения частной доски обсуждений. Обсуждение может быть просмотрено только ограниченным пользователем. В настоящее время доступны следующие пользователи: Владелец сайта, члены дискуссионного совета, Владелец дискуссионного совета.Доска обсуждений Sharepoint, повторите настройки и правила для веб-части

Способ, которым я устанавливаю безопасность веб-части, - это получить всех пользователей и проверить, принадлежат ли они указанным разрешенным лицам на доске обсуждений.

Моя логика, похоже, работает прямо сейчас, но проблема здесь в моем клиенте: Что делать, если в будущем они изменят настройки или безопасность дискуссионной панели, и я, возможно, больше не буду исправлять код веб-страницы, так что настройки и безопасность веб-части будут синхронизироваться с дискуссионным форумом? На мой взгляд, вместо того, чтобы разрабатывать код, который скопирует настройки и безопасность дискуссионной доски и применит их к веб-части, я укажу параметры и безопасность веб-страницы прямо на доску обсуждений. Мой вопрос прямо сейчас, возможно ли это?

Пожалуйста, см. Прилагаемый рисунок, чтобы лучше просмотреть то, что я хотел.

First Image

Second Image

ответ

0

Привет Я установил эту проблему!

это слово делает вещь, "DoesUserHavePermissions" ... вот мой фрагмент кода

try 
{ 
    string strListUrl = "http://MySite.com/List/MyDiscussion/AllItems.aspx"; 
    SPUser objCurrentUser = SPContext.Current.Web.CurrentUser; 
    SPSite objSite = new SPSite(SPContext.Current.Web.Url); 
    SPWeb objWeb = objSite.OpenWeb(); 
    SPList objList = objWeb.Lists[strListUrl]; 

    if(!objList.DoesUserHavePermissions(objCurrentUser,SPBasePermissions.EditListItems)){ 
     throw new UnauthorizedAccessException("You are not authorized to view this discussion!"); 
    } 
} 
catch(UnauthorizedAccessException uae){ 
    /// some exception handling codes here 
} 

@djeeg: спасибо за помощь! 1 голос за вас! :)

2

Веб-часть следует использовать метод CheckPermissions

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.checkpermissions.aspx

SPContext.List.CheckPermissions(SPBasePermissions.EditListItems); 

Таким образом, вы можете установить права доступа только в списке.

Если пользователь не имеет права доступа, либо дисплей ничего, или сообщение, которое говорит «у вас нет прав доступа»

+0

Поддерживает ли SPBasePermissions.EditListItems список пользователей, хотя их роль позволяет им просматривать дискуссию, но не вносить свой вклад. Потому что у меня есть группа на дискуссионном совете с конкретными членами, которым разрешено просматривать только обсуждение, но им не разрешено публиковать сообщения. –

+0

Спасибо djeeg! Хотя ваш ответ был не совсем решением, но он дал мне ключ к решению проблемы. :) –

 Смежные вопросы

  • Нет связанных вопросов^_^