SharePoint 2010 学习资料索引与注解(2)
3.SharePoint Web 应用程序我个人的理解,SharePoint Web 应用程序(SharePoint Web Application)代表的是 SharePoint 网站(集)的物理容器。
SharePoint Web 应用程序需要指定内容数据库、宿主 IIS 应用程序池、应用程序池管理员账号等信息,这些都是 SharePoint 网站(集)的物理容器属性。从这以后(网站集,网站,列表。。。)都是在数据库里面操作,是为逻辑容器。(姑且让我这么区分吧)
所以,像下面这样解释 Web Application 和 Site Collection, Web Site 之间的关系就是比较准确的了:
和
上面第一张图,如果是将 Web Application 画进 Site Collection 那个方框中了,就有点问题了。
顺便说一句,上面图形中只是描述这些对象之间的逻辑关系,并不意味着必须按照这个关系路径来访问这个关系树中的枝叶。你可以直接访问某个列表(List)而无需列表所在站点的访问权限。所以,对于打破了继承关系的这些对象来说,其权限其实是扁平的,并无树状继承一说。
配置 SharePoint Web 应用程序,并不是一件简单的事情。
感谢 lxrc4561200 提供的网址 Web技术网 (SharePoint),大大简化了我整理索引链接的难度:) 这篇 SharePoint 2010管理中心创建Web应用程序 和这篇 SharePoint2010管理中心管理Web应用程序 可以作为创建、设置 SharePoint Web 应用程序的一个很好的开始。
2013-1-3 补充:上面这个网站链接已经打不开,我在博客园找了一篇类似的:SharePoint 2010 使用笔记(应用篇-管理中心-应用程序管理)。原来的 Web技术网内容不错,可惜不知道为什么打不开了。但那个网站也不是没有问题,最大的问题就是:罗列 SharePoint 功能,不讲应用。就好比教你所有 PhotoShop 的菜单命令,但是,你还是创作不出来绚丽的图片作品一样。
毫无疑问,创建新的 SharePoint Web 应用程序的时候,全部接受默认的选项也是可以的。
或者,你也可以面对这么多选项,做出很多“艰难”的决策来对 SharePoint 做更多的了解。
3.1身份验证方式
有“经典”和“基于声明”的两种。
“经典”的里面,又可以选身份验证提供程序:NTML 或者 Kerberos。
“基于声明”的就更多了。
有人用 IIS 对“经典”的身份验证做了测试 IIS的各种身份验证详细测试,不过,有点儿含糊的感觉,图少,另外有图解版的,可以对照着看 Windows安全认证是如何进行的?、Windows安全认证是如何进行的?。
NTLM 无须额外的配置即可使用,所以,一般体验和个人研究都选择它。
“基于声明”的,原理和 Kerberos 的有点儿像,都引入了 Token Issuer 的角色(SharePoint 拿到验证 Token,还要用 Security Token Service 再转换一次才能使用)。不同的是,声明 Claims 引入了证书签名加密、基于 SAML 协议,适用于非 Windows 系统的互信授权,从而可以跨过企业间的异构界限,实现联合身份验证 Federation。Form Based 身份验证也划入了“基于声明”的行列。
有本书讲这个主题的,叫做 A Guide to Claims-Based Identity and Access Control,原理讲得很好。不过,实际操作指南少,还得靠自己再去找。
再顺便说一句,因为“基于声明”的验证方式出现较晚,Microsoft Office 2010 以前的版本在与其整合应用的时候,会有一个二次登录的问题。(似乎问题是卡在身份验证服务器提供的登录转向页面上,不过我尚未深入研究)
微软有个帮助你规划应用的图 Design Sample: Corporate Portal with Claims-based Authentication。
配置 Form Based 身份验证: Sharepoint 2010 Form 身份认证的实现(基于SQL) 和 Configuring Forms Based Authentication for SharePoint 2010 using IIS7。
配置 Federation 身份验证:端对端配置 SharePoint 2010 和 ADFS v2 版本。配置到最后,会用到配置“信任”:SharePoint 2010管理中心管理信任。
SharePoint 2010 无须扩展应用程序即可同时支持以上这些身份验证方式并存,麻烦的是,登录时会多出来一个选择验证方式的界面。当然,这很“讨厌”,于是有人看不下去了,Multiple Authentication Methods in SharePoint 2010、SharePoint 2010: transparent login with mixed authentication。
不得不说的是,SharePoint 自己是不验证用户身份的,它依赖于其它的 IDM (IDentity Management)系统(如 AD、FBA 里面的数据库等等)。看得出来,SharePoint 甚至一开始都不打算存储用户的信息;不过,为了提高性能(不至于每次显示一个用户名还要去 IDM 里面兜一圈),SharePoint 还是存了一些用户信息的,叫做 User Profile。然后,有一个叫做 User Profile Service 的服务从 IDM 同步用户信息过来存到 SharePoint 管理数据库里面。
所以,你打开当的“我的设置”(My Settings)界面的时候,发现连你自己的邮件地址都不能改,就是因为这些是从外部同步而来,改了也会被覆盖掉。
3.2主机头、端口
你想弄一个 http://www.adventureworks.com 这样的网站的话,就指定主机头值。但是,按照我的印象,还是在 SharePoint2010更改网站的URL(1)、SharePoint2010更改网站的URL(2) 里面设置更加方便。
端口,别和默认端口(21 什么的)冲突即可。HTTPS 协议默认 443 端口,如果已经占用了,就换别的。不想换?!那就申请通配符证书吧。
3.3IIS 应用程序池及其管理账户
建议挑一个非域管理员、非本机管理员的账号试试,会很好玩的。用这个账号登录网站,就会显示“系统账户”或者“System Account”。
3.4第一个内容数据库的名称
这个名称,其实无所谓,不重名即可。不过,我喜欢在 WSS_Content 后面加上 “_端口”,看上去好区分。
一个 Web Application 里面可以使用多个内容数据库,但是,一个网站集(site collection)只能存在于一个内容数据库中。你可以将不同内容的网站集放到不同的内容数据库,这样对于改进性能和提升管理水平很有帮助。SharePoint 2010 默认是把新创建的网站集放在最新创建的那个内容数据库中,这样显然是不方便的,在数据库之间移动网站集 提供了按照我们本来的意思安排网站集和内容数据库的方法。
3.5关联的服务应用程序
即 SharePoint Service Application,姑且可以看做是 SharePoint 的 Web 版公共程序库,提供各种服务供各个 Web 应用调用。
没把握的话,全部选上,否则在学习、测试的时候会有各种各样的错误。
熟悉的话,你就麻烦了,这里又牵涉到一个服务应用程序规划的问题,取决于服务器场中每台 SharePoint Instance 的角色定位问题。
微软有个图可以帮助你决定(当然,你也可以被这个图扰乱),到底要怎么样分配 SharePoint Web 应用程序关联的服务应用程序 Cross-farm Services in SharePoint 2010 Products。单机环境玩不了这个 :(
上面这些决策,显然不是(纯)程序员或者网站管理员、网站用户应该(以及能够)考虑的,这些明显是给另外一拨人去思考的。所以呢,单枪匹马的搞 SharePoint 项目的时代,不说已经过去,大概从来就没有到来过吧。
这些问题,个人在单机上面搞研究是不会遇到的,所以,弄个拟真的环境很有必要(见本文第一篇里面关于 安装和配置 的部分)。不仅仅是 SharePoint,其它的技术平台都应该会有这个问题。
页:
[1]