Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 开发用于匿名访问的自定义可视web部件时需要其他代码?_Sharepoint_Sharepoint 2010 - Fatal编程技术网

Sharepoint 开发用于匿名访问的自定义可视web部件时需要其他代码?

Sharepoint 开发用于匿名访问的自定义可视web部件时需要其他代码?,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我有一个简单的自定义web部件,其中有三个下拉列表,可以从三个不同的列表中读取。当用户尝试访问此页面时,系统会提示用户输入密码,如果用户未输入任何凭据,则会出现401错误 我在管理中心和网站本身都启用了匿名访问,用户可以浏览到网站并查看它,而无需提示输入密码。我已经确保匿名用户可以“查看”问题列表,但他们仍然无法查看任何带有自定义web部件的页面 那么这是SharePoint设置还是我必须在我的web部件项目中添加一些内容 提前谢谢 编辑: 我在页面加载中调用了这个方法,但仍然得到相同的错误 p

我有一个简单的自定义web部件,其中有三个下拉列表,可以从三个不同的列表中读取。当用户尝试访问此页面时,系统会提示用户输入密码,如果用户未输入任何凭据,则会出现401错误

我在管理中心和网站本身都启用了匿名访问,用户可以浏览到网站并查看它,而无需提示输入密码。我已经确保匿名用户可以“查看”问题列表,但他们仍然无法查看任何带有自定义web部件的页面

那么这是SharePoint设置还是我必须在我的web部件项目中添加一些内容

提前谢谢

编辑:

我在页面加载中调用了这个方法,但仍然得到相同的错误

private void LoadImageGallery()
{
    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
    SPSite oSiteCollection = SPContext.Current.Site;
    SPWebCollection collWebsites = oSiteCollection.AllWebs;
        DataTable dt = new DataTable();
        for (int i = 0; i < collWebsites.Count; i++)
        {
            using (SPWeb oWebsite = collWebsites[i])
            {
                if (oWebsite.Title == "People")
                {
                    SPList peopleList = oWebsite.Lists["Pages"];
                    if (peopleList != null)
                    {
                        SPListItemCollection collListItems = peopleList.Items;
                        dt = collListItems.GetDataTable();
                        // Include Surname to omit default/search page
                        dt = collListItems.GetDataTable();
                        rptImageGallery.DataSource = dt;
                        rptImageGallery.DataBind();
                    }
                }
            }
        }
    });
}
上面是高架的


我将system\sharepoint设置为对整个网站具有完全控制权,自定义页面需要满足两个要求,以便匿名用户可以访问它:

  • 它需要从类继承
  • 需要重写该属性才能返回
    true

  • 自定义页面需要满足两个要求,以便匿名用户可以访问它:

  • 它需要从类继承
  • 需要重写该属性才能返回
    true

  • 对于匿名访问,您必须修改访问列表的代码以绑定下拉列表,如下所示。在SPSecurity.RunWithElevatedPrivileges委托方法中添加代码

           SPSecurity.RunWithElevatedPrivileges(delegate() {
              using (SPSite site = new SPSite(web.Site.ID))
              {            
                 //ADD YOUR WEB PART Code HERE     
              }
           });
    

    重要提示:您必须在此委托中创建SharePoint对象,否则代码将无法使用管理员访问权限运行。

    对于匿名访问,您必须修改访问列表的代码以绑定下拉列表,如下所示。在SPSecurity.RunWithElevatedPrivileges委托方法中添加代码

           SPSecurity.RunWithElevatedPrivileges(delegate() {
              using (SPSite site = new SPSite(web.Site.ID))
              {            
                 //ADD YOUR WEB PART Code HERE     
              }
           });
    

    重要提示:您必须在此委托中创建SharePoint对象,否则代码将无法使用管理员权限运行。

    自定义页面布局是。如果我在收到提示时输入凭据,但现在输入401,则一切正常。所有页面、图像等均已发布自定义页面布局是。如果我在收到提示时输入凭据,但现在输入401,则一切正常。所有页面、图像等均已发布