2012-05-17 2 views
0

Это код, я использую этот код для вставки данных в свой список в share share. Если у пользователя есть разрешение, то этот код вставляет данные в список. Если у пользователя нет разрешения, это вызывает отказ в доступе к ошибке. Как преодолеть это?Как преодолеть отказ в доступе в share share?

Protected Sub Btn_Registration_Click(ByVal sender As Object, ByVal e As              System.EventArgs) Handles Btn_Registration.Click 
    SPSecurity.RunWithElevatedPrivileges(AddressOf TcregistrationRun) 
End Sub 
Public Sub TcregistrationRun()  
      Dim _TCNricNum As String = Session("IC").ToString 
      Dim _Msite As SPSite = New SPSite(SPContext.Current.Site.Url) 
      Dim _MWeb As SPWeb = _Msite.OpenWeb("/Admin") 
      _MWeb.AllowUnsafeUpdates = True    
      NewEnTry.Update() 
      _MWeb.AllowUnsafeUpdates = False 
End Sub 

ответ

1

Попробуйте ... создать новый экземпляр сети и новый экземпляр сайта внутри вызова для работы с повышенными привилегиями. Это гарантирует, что у вас есть новый экземпляр с более высокими привилегиями. Он должен работать, если вы разрешаете анонимный доступ на вашем сайте. См. Раздел here. Вам также необходимо запомнить экземпляр списка в вызове метода.

using (SPSite site = new SPSite(SPContext.Current.Site.ID)) 
{ 
    using (SPWeb web = site.AllWebs[SPContext.Current.Web.ID]) 
    { 
     web.AllowUnsafeUpdate = true; 

     // Get instance of list item and set the values 

     // Call update on the list item 

     web.AllowUnsafeUpdate = false; 
    } 
} 
Смежные вопросы