RSS

Monthly Archives: 一月 2007

升级指南:将 SharePoint Portal Server 2003 升级到 Office SharePoint Server 2007

我的同事李浩然写了一份很好的升级文档,详细描述了将SPS2003升级到MOSS2007的步骤,感谢浩然,同意我在我的blog上将此文档共享给大家。请点击下载(下载地址已在2007-4-28更新)。

 

Posted by on 2007/01/26 in 未分类

29 Comments

Tags:

WSS 3.0 SDK 与 MOSS 2007 SDK 正式版终于发布出来了

Windows SharePoint Services 3.0: Software Development Kit
SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit

 

Posted by on 2007/01/23 in 未分类

10 Comments

在SharePoint Server 2007中创建定制的用户管理模块

在SharePoint Portal Server 2003的时代,它被说得最多的一个问题就是其用户系统必须使用Active Directory,我们必须在域里面为用户创建相应的AD账号,然后才能将AD账号添加为SharePoint站点用户。如果企业已经部署了AD,那么这不会是一个多大的问题(反而会成为其一个优点),但是对于没有部署AD的企业,或者要将SharePoint站点发布到Internet上的场景,这就是一个不小的问题了。

幸好SharePoint Server 2007中已经完全支持定制的用户管理模块,它使用了ASP.NET 2.0的Membership Provider机制来作为其用户管理的底层机制,这样就带给了我们非常大的灵活性。假如在企业中已经存在了一套用户认证系统(比如某某LDAP服务器,或者某某OA系统),那么我们可以很容易的让SharePoint Server 2007使用同一套用户认证系统,这样,SharePoint Server 2007本身不必要存储用户的信息。当然,通过Membership Provider机制,你也可以将用户名和密码保存在某一个数据源中(比如SQL Server数据库)。

首先,我们要用Visual Studio 2005编写一个定制的Membership Provider,方法我就不多说了,MSDN和网络上都有足够详细的文档来描述如何创建一个Membership Provider。你要做的仅仅是创建一个普通的类,然后让它继承自System.Web.Security.MembershipProvider,然后再实现所有需要实现的方法即可。实际上,SharePoint Server 2007并不会使用每一个方法,如果我记得没错的话,它主要调用的方法包括:FindUsersByName(), GetAllUsers(), GetUser(), ValidateUser()等。

为了说明问题,配合演示,我编写了一个最简单的TextFileMembershipProvider,将编译得到的程序集部署到服务器的GAC中。TextFileMembershipProvider从一个文本文件中得到用户的用户名和密码信息,这个文本文件就如下图所示:

然后打开要使用这个TextFileMembershipProvider的SharePoint站点集所对应的IIS网站的磁盘根目录下的web.config文件,在“<system.web>”节点下面添加相应的MemberShip节点:

<membership defaultProvider=”TextFileMembershipProvider”>
  <providers>
    <add name=”TextFileMembershipProvider” type=”MOSSSecurity.TextFileMembershipProvider, MOSSSecurity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1686c4895244ca01″ description=”” filePath=”C:\Inetpub\wwwroot\wss\VirtualDirectories\81\Users.txt” />
  </providers>
</membership>

然后打开“SharePoint 3.0管理中心”所对应IIS网站的磁盘根目录下的web.config文件,如上面所说的再做一遍。

看到这里,你可能要犯嘀咕了,在SharePoint站点集的web.config上添加这个membership说明嘛,还有些道理,因为我们要在这个站点集上使用这个定制的用户管理模块嘛,但是对“SharePoint 3.0管理中心”这个站点的web.config下手又有和用意呢?简单说来这是因为,我们必须要让“SharePoint 3.0管理中心”这个站点也能够识别TextFileMembershipProvider所提供的用户信息,后面有这么做的详细理由。

执行一下iisreset之后,用IE打开“SharePoint 3.0管理中心”,然后在“应用程序管理”中找到“验证提供程序”,点击进去,然后更改上方的“Web应用程序”为我们希望使用TextFileMembershipProvider的SharePoint站点集所使用的Web应用程序,然后点击页面上的“默认”链接,在出现的更改页面中输入我们想要这个Web应用程序使用的MembershipProvider的名字,同时将验证类型改成表单验证(Forms验证),确定即可。

改完之后,验证提供程序配置界面中就会显示我们的Web应用程序使用的,是“TextFileMembershipProvider”啦。

 

现在,那个想定制的SharePoint站点已经使用我们编写的TextFileMembershipProvider了,但是,我们会遇到一个问题,如果我们现在去访问那个站点,那么那个站点会要求我们登录,但是由于到现在为止,TextFileMembershipProvider能够提供的任何一个用户都不是那个站点的用户,也就说在那个SharePoint站点中没有任何权限,所以我们总是不能登录到那个SharePoint站点中。

解决这个问题的方法,就是在管理中心的“Web应用程序的策略”中,配置一个TextFileMembershipProvider能提供的用户对那个SharePoint站点具有完全控制的权限,然后我们就可以使用那个用户登录到SharePoint站点中了。顺便说一下,“Web应用程序的策略”中配置的用户权限信息,具有最大的优先权。

在管理中心里面打开“应用程序管理”页面上的“Web应用程序的策略”链接,然后点击“添加用户”,选对要定制的Web应用程序,然后在下面的选择区域下拉框中选中“默认”,“下一步”。

 

在“用户”文本框中输入通过TextFileMembershipProvider能够获取一个用户名,然后点击一下下面的“检查名称”,如果配置没有问题,这时SharePoint Server 2007是能够通过TextFileMembershipProvider来确认这个用户的信息的(这也就是我们需要在“SharePoint 3.0管理中心”的web.config中也加上“TextFileMembershipProvider”配置项的原因,否则在这里,“SharePoint 3.0管理中心”不会认通过“TextFileMembershipProvider”提供的用户),然后选中页面下方的“完全控制”,“完成”。

现在,我们就可以访问要定制的SharePoint站点了,由于它被配置为使用

 

Posted by on 2007/01/19 in 未分类

26 Comments

Tags:

Office SharePoint Server 2007 中文180天评估版到货!

今天,从总部运过来的Office SharePoint Server 2007 中文180天评估版终于到达了办公室!

 

Posted by on 2007/01/12 in 未分类

15 Comments

Tags:

用QuickPart实现定制工具边栏

什么是工具边栏?就是我们在SharePoint页面中编辑一个Web Part的属性时,出现在页面右侧的边栏。如下图。(如果更专业的讲,我们应该把它称为ToolPane,但由于并没有统一的中文译法,所以就姑且称为工具边栏吧。)

默认情况下,工具边栏中会显示一个用来编辑Web Part属性的边栏。但是,我们可以让自己定制的边栏也显示在右侧的工具边栏中,在定制边栏中,我们可以显示任何自己想要展现出来的信息。在上图中,我们就可以看到QuickPart本身就带了两个边栏。

QuickPart对定制边栏有良好的支持。只需要让你的用户控件实现标准的System.Web.UI.WebControls.WebParts.IWebEditable接口,QuickPart会自动将你定义的工具边栏显示出来。在MSDN中,你可以得到详细的如何创建定制工具边栏的信息,同时,你还可以在QuickPart信息页面下载QuickPart使用指南视频(3):创建定制工具栏。

另外,如果你正在使用QuickPart,推荐下载和使用QuickPart最新的更新版本。更新版本中修正了一些关键的bug。

再附:元旦之前,我将自己的工作平台更换到了Windows Vista之上。最初Virtual PC 2007 Beta的bug困扰了我一天,但我随即找到了一个workaround,两天前,我发现VPC2007已经发布了RC版,现在它在我的Windows Vista上工作得好极了。但我仍然遇到了一些软件的兼容性问题,比如,招商银行网银专业版会导致系统崩溃,我一直使用的拼音加加输入法也无法在IE 7.0中使用(搜狗拼音的最新版似乎要解决与Vista的兼容性问题,如果它能比拼音加加更快的解决Vista兼容性,那么我就会更换我常用的输入法了),但是我还是非常喜欢Vista强大的搜索和超酷的Aero界面。:)

 

Posted by on 2007/01/06 in 未分类

15 Comments

Tags: