原创作者: buaawhl   阅读:4712次   评论:0条   更新时间:2011-05-26    
采用HTTP File Upload 实现的 文档管理系统 有很多,而且做的相当好。

著名的例子应该是,Java.net。文档管理实现了类似于FTP功能,能够管理目录和文件,而且目录和文件都可以加入说明和注释。

很多内容管理发布系统,forum,  blog, wiki, 都有简单的upload file (图片,附件)的功能。
如果需要提供更加丰富灵活的文件服务,更加丰富的管理功能,比如文件空间大小的计算和分配,目录管理和创建,用户自定义的权限控制。这时候,一个健壮的弥补了所有漏洞的FTP Service更加适合。

SSO, Single Sign, 单点登陆。
server为所有系统进行统一用户管理,登陆一次,就可以进入所有系统。

我思考的问题是,FTP Server如何与HTTP Server组合使用,为用户提供更多的服务。如何能在HTTP Server 和 FTP Server之间实现SSO。
这样用户登陆了HTTP Server之后,就有了相应的操作FTP Server的权限。

HTTP Server的SSO。
same domain name, 采用cookie实现。cookie是HTTP协议定义的。
different domain name, 也有各种方案,比如redirect。
本文后面列出了一些相关的SSO 帖子和文章。

我的想法是,如果这么配置的话。HTTP Server 和 FTP Server 可以分成不同的Server。FTP Server就是一份。上面主要是用户上传的静态文件。
HTTP Server也可以分为静态和动态两部分,也可以不分,只采用动态内容server,比如servlet server。
如果分了静态和动态。
那么静态部分就可以放在一个Apache Server, light httpd, 或者其他的http server。动态部分可以用servlet server。
这时候,只有动态部分的servlet server, app server可以单独扩展,做比较高级的负载均衡的cluster。
系统静态部分也是单独扩展,作比较简单的cluster。
FTP Server也是,可以不用cluster,或者简单的cluster。

如果是采用HTTP Server自己管理File Upload,如果采用Cluster, 那么一般是通过数据库来同步不同cluster node之间的 file 变更。或者是通过一些配置,把对文件的需求都导向一个cluster node。

--  文档管理的版本控制

这个贴子里面谈到的 Alfresco,在HTTP上实现了文档版本控制。
http://forum.iteye.com/viewtopic.php?t=17515

当需要版本控制的时候,WebDAV、SVN, CVS 应该也有用武之地。

由于WebDAV是HTTP扩展,WebDAV 和 HTTP 之间实现SSO,应该问题不大,虽然我还没有查到具体答案。
SVN提供了HTTP协议的操作方式,也应该能和HTTP实现SSO。
CVS现在只有pserver之类的C/S socket协议,应该比较困难。

-- SSO

Cookie, Redirect, Token, Passport, SID

http://forum.iteye.com/viewtopic.php?t=6473
http://forum.iteye.com/viewtopic.php?t=7138
http://www.mengyan.org/blog/archives/2006/02/20/113.html
http://www-128.ibm.com/developerworks/java/library/j-gss-sso/
http://kb.csdn.net/java/Articles/200606/b2c189ea-dd10-460c-9a97-654d86522405.html
http://www.metarnet.com/culture/met1/c7_1.htm

--- 问题

能否在HTTP, FTP, WebDAV, SVN等多种协议和服务之间,比较方便的实现SSO?
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

文章信息

  • fins在2006-07-10创建
  • fins在2011-05-26更新
Global site tag (gtag.js) - Google Analytics