黄明 BLOG

专注项目管理,软件工程,软件架构,.NET,MOSS开发....
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MOSS2010操作(2)- 网站和网站集管理

Posted on 2010-09-21 10:14  竹仪攸欣  阅读(367)  评论(0编辑  收藏  举报

管理Web部件

Web部件是在SharePoint网站的页面上呈现信息的模块式元素。

Web部件页是一个Web部件的集合,他可以将列表数据、即时信息或有用的图形组合到一个动态的网页中。Web部件页的布局和内容可以针对所有用户进行设置,也可以针对每个用户进行个性化设置。

Web部件可以使用在Web部件页、Wiki网页、内容页、发布网页等。

网站所有者或具有相应权限的网站成员可以通过使用浏览器添加、重新配置或移除Web部件来创建和自定义Web部件页。

可以将Web部件配置为在沙盒解决方案中运行,沙盒解决方案可以防止Web部件访问某些本地或网络资源,从而保护SharePoint server服务器场上的其他内容和解决方案。通过实现沙盒解决方案,用户可以将自己的Web部件添加到宿主环境中,开发人员也可以添加尚未经过彻底测试的Web部件来用于生产。

SharePoint server中,Web部件基础架构位于ASP.NET Web部件基础架构的上一层。为了有效保护SharePoint网站,服务器管理员必须熟悉ASP.NET的安全准则和最佳实践。

Web部件页和控件的安全

保护 Web 部件页和控件是一项需要协作完成的工作。开发人员、网站管理员和服务器管理员必须协同工作以提高 Web 部件和 Web 部件页的安全性。开发人员应验证 Web 部件输入以阻止服务器攻击。服务器管理员必须将 Internet Information Services (IIS) 配置为使用适当的身份验证方法。

服务器管理员还要配置 Web 部件解决方案并将其部署到 Web 服务器或 Web 服务器场。在部署解决方案之后,网站管理员或服务器管理员可以定义针对 Web 部件页的权限级别和访问权限。

负责配置针对 Web 部件页和 Web 部件的权限的安全角色。

角色

类别

适用于

说明

开发人员

输入验证

Web 部件代码

输入验证是指应用程序在执行其他处理之前如何筛选、清理或拒绝输入。这包括验证应用程序接收的输入是否有效和安全。

服务器管理员

身份验证

IIS

身份验证是指一个实体验证另一个实体的身份的过程,通常使用凭据(例如用户名和密码)进行验证。

网站管理员/服务器管理员

授权

网站集

授权是指通过确定哪些用户可以对给定对象执行特定操作,从而提供对网站、列表、文件夹或项目的访问控制的过程。授权过程假定用户已经过身份验证。

服务器管理员

配置管理

.NET Framework 配置

配置管理包含各种各样的设置,利用这些设置,管理员可以管理 Web 应用程序及其环境。这些设置存储在 XML 配置文件中,其中一些设置可控制计算机范围的设置,而另一些设置可控制特定于应用程序的配置。可以在配置文件中定义特殊的安全约束,也可以定义计算机级别的代码访问安全权限。

 

配置和部署Web部件

Microsoft SharePoint Server 包含一组用户可在安装该产品后添加到页面中的 Web 部件。如果组织需要自定义 Web 部件,开发人员可以编写自定义 ASP.NET Web 部件,并要求您将这些部件安装到 SharePoint Server 的部署中。此过程通常需要先测试并批准代码,然后才能在完全信任环境中部署 Web 部件。使用 Visual Studio 2010 的开发人员可以通过右键单击相应项目并选择部署,将某个 Web 部件部署到 SharePoint Server 中。Web 部件的目标由开发人员在 Visual Studio 2010 中创建项目时使用 SharePoint 服务器建立的信任级别确定。

通过 Microsoft SharePoint Server 2010 可以配置一个沙盒环境,在此环境中,网站集管理员、网站管理员或信息工作者可以在沙盒工作进程中部署和运行部分受信任的 Web 部件和解决方案。在沙盒环境中运行的 Web 部件和解决方案具有针对服务器操作系统和硬件的有限访问权限,而且它们与 Web 应用程序的其他部件是隔离的

 

配置选项

系统管理员可以将ASP.NET Web部件部署到SharePoint Server的以下任一位置:

·  Bin目录

存储在Web应用程序的根目录下的bin文件夹中。

·  全局程序集缓存(GAC)

所有标准的Web部件都会自动安装到.NET Framework的公共语言运行时坐在的GAC中。可以在各个应用程序之间共享存储在GAC中的Web部件。

部署位置

优点

缺点

Bin 目录

一个部分信任的位置。默认情况下,从该目录运行的代码具有较低级别的代码访问安全权限。如果 Web 部件需要跨应用程序进行访问或访问超过默认权限允许范围的内容,则管理员必须明确提升授予 Web 部件的权限,这样它才能正常工作。管理员可能会希望程序集在 Bin 目录中运行,并使用已知最小的必需代码访问安全权限集。

由于 Bin 目录特定于 Web 应用程序,因此,如果您希望将代码隔离到单个 Web 应用程序,则可以使用此方法。

若要在任意位置运行 Web 部件,则必须将程序集部署到每台服务器上的 Bin 目录中。

GAC

一个可用来部署已签名程序集的全局位置,默认情况下,已签名程序集可在完全信任模式下运行。由于对这些程序集进行了全局安装,因此可以在任何 Web 应用程序中使用它们。

通常,对于已安装到 GAC 的代码,没有任何代码访问安全限制;因此,您将无法获得深度防御安全。

此外,很难将程序数据库 (.pdb) 文件部署到 GAC 内的程序集。

 

设置安全属性

存储在 Bin 目录中的 ASP.NET Web 部件具有其他安全属性。您可以决定是否为 Web 部件设置这些属性,具体取决于您打算如何使用 Web 部件。

Bin 目录是一个部分信任的位置。因此,Web 部件在执行时不会自动授予完全信任代码权限。由于对调用 Web 部件的代码仅授予部分信任权限,因此 Web 部件开发人员必须对 ASP.NET Web 部件设置 AllowPartiallyTrustedCallers 属性。

注意:使用 AllowPartiallyTrustedCallers 属性将组件标记为安全时,开发团队负有安全实施的责任。

默认情况下,Bin 目录的代码访问安全权限非常低。您应仔细测试您的 Web 部件,以确定要分配的正确权限级别,确保 Web 部件不会给您的环境带来安全风险。

可以通过两种方式提升权限:

·  (建议)创建一个信任策略文件并将 Web.config 文件指向这个新文件。虽然这种方式更为复杂,但它使您能够设置 Web 部件的精确权限。

·  提升 Bin 目录的整体信任级别。在 Web 应用程序根目录下的 Web.config 文件中,找到 trust 元素。trust 元素的 level 属性的默认值为 WSS_Minimal。可以将此级别更改为 WSS_Medium。虽然这种方式更为简单,但它将授予您可能不需要的任意新权限,并且此方式的安全性没有创建信任策略文件的安全性高。

安全控件列表

SharePoint 产品的基本假定是不受信任的用户可以在运行 SharePoint Server 的系统内上载和创建 .aspx 页。虽然应阻止这些用户在 .aspx 页内添加服务器端代码,但应提供一个可供这些不受信任用户使用的已批准控件的列表。在 SharePoint Server 中,此列表由安全控件列表提供。

安全控件列表包含特定于 SharePoint 网站的控件和 Web 部件的名称,服务器管理员可以指定在网站内的任何 .aspx 页上调用这些控件和 Web 部件是安全的。此列表是 Web 应用程序根目录下的 Web.config 文件的一部分。

部署和配置Web部件

用于部署新 Web 部件的方法将取决于开发人员提供的已完成包。

·  如果开发人员以单个动态链接库 (DLL) 文件的形式向您提供 Web 部件,则可以手动将 DLL 复制到 Web 应用程序的 Bin 文件夹中来进行部署。

·  如果开发人员向您提供包含 Web 部件的 CAB 文件,则可以使用 Windows PowerShell 部署 Web 部件。

手动部署和配置Web部件

1.         验证您是否拥有以下管理凭据:您必须是承载 SharePoint Server 的服务器上的本地 Administrators 组的成员。

2.         将项目的 Bin 目录中的 .dll 程序集复制到 Web 应用程序根目录中的 Bin 目录。例如:C:\inetpub\wwwroot\wss\VirtualDirectories\80\

3.         在应用程序根目录中找到 Web.config 文件并将其打开以进行编辑。

4.         将自定义程序集的以下安全控制项添加到 Web.config 文件:

其中:

·  是正在部署的 Web 部件的名称。

·  是与 Web 部件关联的命名空间。

 

使用Windows PowerShell部署Web部件

1.         开始菜单上,单击所有程序

2.         单击“Microsoft SharePoint 2010 产品

3.         单击“SharePoint 2010 Management Shell”

4.         Windows PowerShell 命令提示符 (PS C:\>) 处,键入以下命令,然后按 Enter

Install-SPWebPartPack -LiteralPath "" -Name ""

其中:

·  是正在部署的 CAB 文件的完整路径。

·  是正在部署的 Web 部件的名称。

 

将组件添加到Web部件库

每个Web部件都应具有一个.webpart文件,该文件是一个用于描述Web部件的XML文件。.Webpart文件会使Web部件出现Web部件库中。

1.         验证您是否拥有以下管理凭据:您必须是 Farm Administrators 组的成员。

2.         若要创建 .webpart 文件,请导航至 http:///_layouts/newdwp.aspx,其中 是用于部署 SharePoint 网站的服务器的名称。

3.         选中 . 旁边的复选框。

4.         单击导入库以将 YourWebPartName Web 部件添加到工作组网站库中。

5.         Web 部件库中选择编辑来编辑 Web 部件,然后单击导入

系统会提示您指定 .webpart 文件的位置。您也可以导出 ASP.NET Web 部件并将其导入到 SharePoint 网站。