4

我在 SharePoint 网站上为“列表和库”配置了匿名访问。然后我根据我的要求启用对各个列表/库的匿名访问。

这很好用,但我无法访问我希望重定向到欢迎页面的根站点 URL:

  1. 访问http://servername失败并显示访问被拒绝
  2. 访问http://servername/Pages/Default.aspx成功

如果我将网络权限设置为“整个网站”,我可以访问根 URL,但我不想这样做。

我正在为我的站点提供站点定义并在功能激活期间通过对象模型修改站点,例如

web.AnonymousPermMask64 = SPBasePermissions.Open;
web.AnonymousState = SPWeb.WebAnonymousState.Enabled;
web.Update();

...这是我已经成功使用的代码。

有谁知道如何允许匿名访问http://servername

4

2 回答 2

5

事实证明,您需要在 Web 对象上授予以下权限掩码:

web.AnonymousState = SPWeb.WebAnonymousState.Enabled;
web.AnonymousPermMask64 = SPBasePermissions.Open | SPBasePermissions.ViewPages;    
web.Update();

真的很简单!匿名用户现在可以导航到http://servername并重定向到欢迎页面。

注意:设置这两个属性的顺序很重要。将 AnonymousState 属性设置为 Enabled,仅将权限掩码设置为 SPBasePermissions.Open。如果您如上所示切换了两个属性的顺序,这将删除 SPBasePermissions.ViewPages 标志。

于 2009-08-28T00:27:03.030 回答
0

您需要在 Pages 库上启用匿名访问,以便您可以访问 default.aspx 页面。

于 2009-08-27T08:00:04.117 回答