本文转载自:SharePoint学习札记[5] — 设置匿名访问

设置网站的匿名访问一般有三种情况:
1. 创建Web应用程序时进行匿名访问设置。
2. 对已建立的网站进行匿名访问设置。
3. 对同一个网站分别设置验证访问和匿名访问。

创建Web应用程序时进行匿名访问设置
      新建Web应用程序时在“安全性配置”的“允许匿名访问”选择“是”。 创建Web应用程序和“网站集”成功后,点击网站集链接,系统打开IE的同时会发现网站仍需要验证才能登录。(注:这是因为虽然在“Web应用程序”中设置了允许匿名访问,但是创建的网站默认还是需要验证的,要让网站可以匿名访问,还需要进入网站设置进行设置。)在弹出验证对话框,输入管理员的用户名和密码后,点击“确定”。
点击“网站操作”下拉菜单“网站设置”的子菜单项“修改所有网站设置”
进入网站设置页面后,点击“用户和权限”项下的“高级权限”
进入权限设置页面后,点击“设置”下拉菜单的“匿名访问”项
进入匿名访问页面后,选择允许匿名访问的范围,这里点选“整个网站”。
再登录时就会发现访问网站已经不需要用户名和密码,可以匿名访问了。
 
对已建立的网站进行匿名访问设置
      在实际开发过程中可能在创建Web应用程序时未进行匿名访问设置,如果有这方面需求,那么我们就需要对已建立的网站进行匿名访问设置。
      首先我们用管理员身份登录网站,进入网站设置页面后,点击“用户和权限”项下的“高级权限”,发现“设置”下拉菜单没有“匿名访问”选项。(注:这是因为在创建Web应用程序在“安全性配置”的“允许匿名访问”选择“否”,网站集是继承其设置的。因此需要在Web应用程序中打开匿名访问的设置。)
进入管理中心应用程序管理页面,点击“应用程序安全性”项下的“验证提供程序”
进入验证提供程序页面确认 “Web应用程序”选择的是我们要修改的网站。点“默认”进入“编辑验证”页面,勾选“启用匿名访问”。
     确认后登录网站,进入“网站设置”页面点击“用户和权限”项下的“高级权限”,开启“匿名访问”的设置。这时登录网站就可以发现不需要验证登录了。

对同一个网站分别设置验证访问和匿名访问
进入管理中心“应用程序管理”页面点击“创建或扩展Web应用程序”
点击“扩展现有Web应用程序”
点击“Web应用程序”后面的小箭头,点击“更改Web应用程序”, 点击要修改的Web应用程序
返回页面后可以看到选择的某端口下的“Web应用程序”,在“IIS网站”的端口中填入没有被占用的端口。在“安全性配置”中,设置允许匿名访问(假设原来端口下“Web应用程序”需要验证登录)。
分别使用原来的端口号及之后扩展的端口号访问(这时候会发现用扩展的端口号访问仍然需要登录。我们用管理员身份登录网站,进入网站设置页面后,点击“用户和权限”项下的“高级权限”,开启“匿名访问”的设置。这时用扩展的端口号访问就可以发现不需要验证登录)

如何隐藏“登录”链接
在浏览已经设置匿名访问的站点,会发现在页面的右上角有“登录”链接。但根据不同的UI设计可能不希望有“登录”这个链接。可以通过下面的方法“隐藏”。
打开“C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES”目录下Welcome.ascx页找到ApplicationPageLink控件的引用。将Visible属性设置为false就可以了。