如何克服共享点中的访问被拒绝错误?

时间:2012-05-17 05:22:10

标签: vb.net sharepoint

这是代码,我使用此代码在共享点的列表中插入数据。如果用户有权限,则此代码将数据插入列表。 如果用户没有权限,那么它会提出错误访问被拒绝。如何克服这个?

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 个答案:

答案 0 :(得分:1)

尝试此操作...在调用内部创建一个新的Web实例和一个新的站点实例,以便使用提升的权限运行。这将确保您拥有更高权限下的新实例。如果您允许在您的网站上进行匿名访问,它应该有效。见线程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;
   } 
}