匿名访问SharePoint站点根目录

Jon*_*nny 4 sharepoint moss sharepoint-2007 anonymous-users

我已在SharePoint网站上为"列表和库"配置了匿名访问.然后,我根据我的要求启用对单个列表/库的匿名访问.

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

  1. 访问http:// servername失败,拒绝访问
  2. 访问http://servername/Pages/Default.aspx成功

如果我将Web权限设置为"整个网站",我可以访问根URL,但我不想这样做.

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

web.AnonymousPermMask64 = SPBasePermissions.Open;
web.AnonymousState = SPWeb.WebAnonymousState.Enabled;
web.Update();
Run Code Online (Sandbox Code Playgroud)

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

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

Jon*_*nny 5

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

web.AnonymousState = SPWeb.WebAnonymousState.Enabled;
web.AnonymousPermMask64 = SPBasePermissions.Open | SPBasePermissions.ViewPages;    
web.Update();
Run Code Online (Sandbox Code Playgroud)

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

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