2009-08-27 185 views
4

我已经在SharePoint网站上为“列表和库”配置了匿名访问。然后,按照我的要求,允许匿名访问各个列表/库。匿名访问SharePoint网站根目录

这个伟大的工程,但在这里我希望被重定向到欢迎页面无法访问根网站网址:

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

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

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

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

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

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

回答

5

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

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

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

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

0

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

+0

我已经做到了这一点,并且按照我的要求,可以访问页面库。 2.我无法访问根网站,我希望将其重定向到欢迎页面。 – Jonny 2009-08-27 08:12:09