一种基于WEBDAV的通用文件共享系统及方法与流程

文档序号:12068143阅读:373来源:国知局
一种基于WEBDAV的通用文件共享系统及方法与流程

本发明涉及一种在网络上共享文件的系统及方法,尤其涉及一种基于WEBDAV的文件共享系统及方法。



背景技术:

WebDAV(Web-based Distributed Authoring and Versioning,基于Web的分布式创作和版本控制)是一种基于http1.1协议的通信协议。它扩展了http1.1,在get、post、head等几个http标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

在早期网络世界中,档案数据在不同主机之间的传输大多是使用ftp来进行传送。不过,使用ftp传输档案存在的问题是无法直接修改主机上面的档案数据。也就是说您想要更改Linux主机上的某个档案时,必需从Server端将该档案下载到本地后才能修改,也因此该档案在服务端与客户端都会存在。

人们需要一种基于网络的文件共享,但是又需要共享服务具有同步的功能。像微软的CIFS(Common Internet File System,通用网络文件系统),启用了该服务后,其它Windows主机可以在网络邻居中发现该共享,然后像操作本地文件一样操作共享资源,但它只能在Windows上使用。

目前Linux系统已知的文件共享方式有的CIFS、NFS(Network File System,网络文件系统)、WebDAV。但是采用这些共享方式,需 要手动启动和配置服务器,管理不够便捷、直观。另一方面,CIFS和NFS下的Samba(Server Messages Block,信息服务块)和NFS的配置文件都非常庞大,但是用户需要配置工作目录、资源名称、用户、权限等诸多配置项,配置较为复杂。



技术实现要素:

针对目前Linux系统的文件共享存在的上述问题,本发明提供一种基于WebDAV的通用文件共享方法。

本发明解决技术问题所采用的技术方案为:

一种基于WebDAV的通用文件共享系统,应用于linux系统中,包括:

服务端以及多个客户端,所述服务端分别与多个所述客户端远程连接;

所述服务端包括:

桌面配置单元,用于采用可视化的桌面操作方式配置与所要访问服务端的客户端的访问权限和所要共享的文件的操作权限有关的参数,并将所述参数存储至一存储单元中;

配置执行单元,所述配置执行单元与所述桌面配置单元和所述存储单元连接,执行所述桌面配置单元所配置的参数;

共享单元,所述共享单元与所述桌面配置单元和所述配置执行单元连接,根据所述桌面配置单元配置的参数,将要在所述服务端共享的一个或多个文件添加至所述共享单元,以对多个客户端进行共享;

所述客户端包括:

访问单元,所述访问单元与所述共享单元连接,所述客户端根据访问权限访问共享的文件。

优选的,所述服务端还包括:

认证单元,所述认证单元与所述桌面配置单元和所述共享单元连接,用于客户端在第一次访问所述共享单元之前,根据所述客户端的信息对所述客户端进行安全认证,并允许通过所述安全认证的所述客户端访问所述服务端;

所述认证单元在对所述客户端进行所述安全认证之前,首先判断所述客户端是否已经经过认证,并对已经经过认证的客户端不再进行认证,直接允许所述客户端访问所述服务端。

优选的,所述认证单元包括:

加密模块,预先从所述服务端处获取已经保存了且未认证的所述客户端的客户端信息,并根据所述客户端信息进行加密,以产生一第一杂凑值;

匹配模块,所述匹配模块与所述加密模块连接,用于获取需要认证的所述客户端的所述客户端信息,并产生一第二杂凑值;

所述匹配模块还用于将所述第一杂凑值与所述第二杂凑值进行比较:

当所述第二杂凑值与所述第一杂凑值相同时,所述认证单元判断所述客户端认证成功;

当所述第二杂凑值与所述第一杂凑值不相同时,所述认证单元判断所述客户端认证失败。

优选的,所述客户端信息中包括所述客户端对应的用户名信息,所述客户端的域名信息以及所述用户名信息对应的密码信息;

所述加密模块采用MD5加密方式将所述客户端信息加密产生所述第一杂凑值和第二杂凑值。

优选的,还包括分别与所述认证单元和所述桌面配置单元连接的 权限管理单元,所述权限管理单元包括:

存储模块,存储各个所述客户端对所述服务端的所述操作权限的信息,

权限设置模块,所述权限设置模块与所述存储模块连接,用于接收所述桌面配置单元配置的对所述客户端的操作权限的信息,并将接收的所述操作权限的信息保存于所述存储模块中;

权限获取模块,所述权限获取模块分别与所述存储模块和所述权限设置模块连接,所述权限获取模块从所述服务端获取请求访问所述服务端的所述客户端的客户端信息,并从所述存储模块中查找得到并赋予所述客户端对应的所述操作权限的信息。

一种基于上述的WebDAV的通用文件共享系统的通用文件共享方法,应用于linux系统,包括:服务端以及多个客户端,所述服务端分别与多个所述客户端远程连接;

步骤1,服务端采用可视化的桌面操作方式配置与所要访问服务端的客户端的访问权限和所要共享的文件的操作权限有关的参数,并保存所述参数;

步骤2,执行所配置的参数;

步骤3,根据配置的参数,添加一个或多个用于共享的文件至所述服务端,以对多个客户端进行共享;

其中,所述客户端根据配置的访问权限访问共享的文件。

优选的,在所述客户端根据配置的访问权限访问共享的文件之前,还包括:

步骤S1,所述服务端判断所述客户端是否是第一次访问所述服务端,当判断出所述客户端是第一次访问所述服务端时,执行步骤S2,否则执行步骤S3;

步骤S2,所述服务端与所述客户端进行认证交互,服务端根据所述客户端提交的信息对其进行安全认证,

当所述客户端通过所述安全认证时,允许所述客户端访问所述服务端,并保存该所述客户端信息;

当所述客户端未通过所述安全认证时,禁止访问所述服务端;

步骤S3,所述服务端允许已经通过所述安全认证的客户端直接访问服务端,无需再次进行安全认证。

优选的,所述步骤S2中的安全认证的方法包括:

步骤S21,预先从所述服务端处获取已经保存了且未认证的所述客户端的客户端信息,并根据所述客户端的信息生成一第一杂凑值;

步骤S22,从所述客户端处获取需要认证的所述客户端的所述客户端信息,并产生一第二杂凑值;

步骤S23,将所述第一杂凑值与所述第二杂凑值进行比较:

当所述第二杂凑值与所述第一杂凑值相同时,所述客户端认证成功;

当所述第二杂凑值与所述第一杂凑值不相同时,所述客户端认证失败。

优选的,将所述步骤S21中的客户端信息生成摘要认证数据保存于所述服务端中。

优选地,在步骤S2或S3后,还包括:

步骤A,所述服务端收到所述客户端对共享的文件的操作请求;

步骤B,从所述服务端读取已经保存的所述客户端对所述共享的文件的操作权限的参数;

步骤C,根据读取的操作权限的参数对所述客户端执行对应的操作响应。

本发明的有益效果:可以在服务端的可视化的桌面直接添加或更新共享文件、添加允许访问服务端共享文件的客户端,以及配置各个客户端对共享文件的操作权限。本发明大大提高了访问共享资源的便捷性,在该linux平台下,通过网络浏览器就可访问共享文件,不需要安装额外的工具。并且基于其所使用协议的成熟度,提高了共享服务的稳定性和安全性;linux平台下的用户可以不再依赖命令行和配置选项来启动共享服务,更简单直观。

附图说明

图1为本发明的一种基于WEBDAV的通用文件共享系统的系统框图;

图2为系统的认证单元的系统框图;

图3为系统的权限管理单元的系统框图;

图4为本发明的一种基于WEBDAV的通用文件共享方法的流程图;

图5为客户端访问服务端进行安全认证的流程图;

图6为图5中安全认证的方法流程图;

图7为客户端在进行安全认证之后,客户端请求对共享的文件进行操作的流程图;

图8为服务端的业务流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

本发明方案的核心是所使用的webdav协议,webdav协议是基于http的通信协议,在http基础上做了相应的扩展。

如图1所示,本发明的一种基于WebDAV的通用文件共享系统,应用于linux系统中,包括:服务端1以及多个客户端2(图1中仅采用一个客户端2加以说明),服务端1分别与多个客户端2远程连接;

服务端1包括:

桌面配置单元11,用于采用可视化的桌面操作方式配置与所要访问服务端1的客户端2的访问权限和所要共享的文件的操作权限有关的参数,并将参数存储至一存储单元16中;

配置执行单元12,配置执行单元12与桌面配置单元11和存储单元16连接,执行桌面配置单元11所配置的参数;

共享单元13,共享单元13与桌面配置单元11和配置执行单元12连接,根据桌面配置单元11配置的参数,将要在服务端1共享的一个或多个目录添加至共享单元13,以对多个客户端2进行共享;

客户端2包括:

访问单元21,访问单元21与共享单元13连接,客户端2根据访问权限访问共享的目录。

在上述实施例中,可以实现一种通用协议的、平台无关的、支持多用户认证和权限等级的、可配置的文件共享服务。用户端可以在可视化的KDE(Kool Desktop Environment,K桌面环境)桌面配置单元11下完成对客户端2的访问权限和共享文件的操作权限之类的配 置,配置执行单元12执行配置的参数;共享单元13将配置的要共享的文件共享到服务端1,以为各个客户端2提供共享服务。与传统方法相比,服务端1的启动和配置无需依赖手动操作,对于习惯了图形用户界面的用户来说,具有体验上的优势,而且共享的资源可以基于配置文件进行管理,便捷、直观。

本发明优选的实施方式,服务端1还包括:

认证单元14,认证单元14与桌面配置单元11和共享单元13连接,用于客户端2在第一次访问共享单元13之前,根据客户端2的信息对客户端2进行安全认证,并允许通过安全认证的客户端2访问服务端1;

认证单元14在对客户端2进行安全认证之前,首先判断客户端2是否已经经过认证,并对已经经过认证的客户端2不再进行认证,直接允许客户端2访问服务端1。

客户端2在访问共享的文件时需要通过安全认证才能访问。在客户端2第一次访问服务端1之前,管理员需要在服务端1中配置允许访问服务端1的客户端2的信息,以便客户端2在第一次访问服务端1时,供服务端1进行安全认证,防止恶意的客户端2篡改或攻击服务端1。当第一次访问服务端1的客户端2通过安全认证后,服务端1会保存该客户端2已经访问过服务端1的记录,当该客户端2下次访问服务端1时,服务端1会识别出该已经访问过服务端1的客户端2,从而允许其直接访问,无需再次进行安全认证。这种方式简化了安全认证的流程,加快了客户端2访问服务端1的时间。

如图2所示,本发明优选的实施方式,认证单元14包括:

加密模块141,预先从服务端1处获取已经保存了且未认证的客户端2的客户端2信息,并根据客户端2信息进行加密,以产生一第一杂凑值;

匹配模块142,匹配模块142与加密模块141连接,用于获取需要认证的客户端2的客户端2信息并产生一第二杂凑值;

匹配模块142还用于将第一杂凑值与第二杂凑值进行比较:

当第二杂凑值与第一杂凑值相同时,认证单元14判断客户端2认证成功;

当第二杂凑值与第一杂凑值不相同时,认证单元14判断客户端2认证失败。

本发明优选的实施方式,客户端2信息中包括客户端2对应的用户名信息,客户端2的域名信息以及用户名信息对应的密码信息;

加密模块141采用md5加密方式将客户端2信息加密产生第一杂凑值。

本发明是采用基于md5的安全认证机制。是将客户端2对应的用户名信息、域名信息和该用户名对应的密码信息经过md5加密后产生一个不可破解的32位代码的杂凑值。在客户端2第一次访问服务端1之前,管理员在服务端1配置了该未认证的客户端2信息,服务器端根据该客户端2的信息生成一份摘要认证数据的文件。服务器端在启动时读取该摘要认证数据的文件,初始化摘要认证数据,并且根据该客户端2的摘要认证数据通过md5加密后生成第一杂凑值。 当客户端2向服务端1发送表示要访问共享目录中的文件的请求消息(该消息的消息头内包含客户端2的用户名、域名、现时值、响应值等多个客户端2的参数)时,服务端1将这些参数经过md5加密后计算出一个第二杂凑值,该第一杂凑值与第二杂凑值进行比较,当两者相同时表示认证成功,否则认证失败。服务端1不允许认证失败的客户端2访问服务端1。

如图1和图3所示,本发明优选的实施方式,还包括分别与认证单元14和桌面配置单元11连接的权限管理单元15,权限管理单元15包括:

存储模块151,存储各个客户端2对服务端1的操作权限的信息,

权限设置模块152,权限设置模块152与存储模块151连接,用于接收桌面配置单元11配置的对客户端2的操作权限的信息,并将接收的操作权限的信息保存于存储模块151中;

权限获取模块153,权限获取模块153分别与存储模块151和权限设置模块152连接,权限获取模块153从服务端1获取请求访问服务端1的客户端2的客户端2信息,并从存储模块151中查找得到并赋予客户端2对应的操作权限的信息。

在权限设置模块152中配置并保存好各个客户端2对共享的文件的操作权限,该操作权限的信息的储存类似于哈希表。当客户端2通过安全认证之后,发出对该共享的文件操作请求时,权限获取模块153会从与其连接的存储单元16的文件中查找该客户端2对共享的文件具有的操作权限,接着服务端1赋予该客户端2对应的操作权限。 如图8所示,客户端2对服务端1的操作权限包括写权限和读权限,任何可以访问服务端1的客户端2都具有读权限。而要对共享的文件进行PUT、MOVE、DELETE等写操作,客户端2需要满足写权限。因此,服务端1在处理客户端2发送的这类请求消息时,会判断该客户端2是否有写权限,若用户没有写权限,则拒绝。最终服务端1会发送给客户端2一个携带响应内容的消息。

此外,本发明中可以在客户端2的网页浏览器中访问共享的文件,因为WebDAV是一个http协议的服务器,其可通过文件浏览器集成的功能访问WebDAV服务器。对不同的共享文件,管理员可以在服务端1的桌面配置单元11设置不同的客户端2的访问权限,并将该访问权限的信息保存于存储单元16的文件中,其中该信息可存储为摘要认证数据。当服务端1接收到客户端2的访问单元21发送的要访问共享的文件的消息时,服务端1中的认证单元14可随时进入该文件查找该客户端2的访问,再执行相应的响应。

当客户端2需要对共享的文件进行写操作时,服务端1的权限管理单元15需要从该摘要认证数据的文件中查找该客户端2是否具有写操作的权限,当不具有写权限时,拒绝该客户端2写操作的响应。权限管理是基于认证管理的,在访问共享的文件之前,需要对客户端2进行认证,未经过安全认证的客户端2必然没有访问权限,已认证的客户端2则根据所请求的路径和对应的分配给该客户端2的权限进行访问限制。这种方式保证了共享的文件的安全,防止被恶意的客户端2篡改。

一种基于上述WebDAV的通用文件共享系统的通用文件共享方法,应用于linux系统,包括:服务端1以及多个客户端2,服务端1分别与多个客户端2远程连接;如图4所示:

步骤1,服务端1采用可视化的桌面操作方式配置与所要访问服务端1的客户端2的访问权限和所要共享的文件的操作权限有关的参数,并保存参数;

步骤2,执行所配置的参数;

步骤3,根据配置的参数,添加一个或多个用于共享的文件至服务端1,以对多个客户端2进行共享;

其中,客户端2根据配置的访问权限访问共享的文件。

本发明优选的实施方式,在客户端2根据配置的访问权限访问共享的文件之前,如图5所示,还包括:

步骤S1,服务端1判断客户端2是否是第一次访问服务端1,当判断出客户端2是第一次访问服务端1时,执行步骤S2,否则执行步骤S3;

步骤S2,服务端1与客户端2进行认证交互,服务端1根据客户端2提交的信息对其进行安全认证,

当客户端2通过安全认证时,允许客户端2访问服务端1,并保存该客户端2信息;

当客户端2未通过安全认证时,禁止访问服务端1;

步骤S3,服务端1允许已经通过安全认证的客户端2直接访问服务端1,无需再次进行安全认证。

在该实施例中,服务端1在对客户端2进行安全认证之前,首先判断客户端2是否已经经过认证,并将经过认证的客户端2信息保存于服务端1中,方便下次直接访问。而对于已经经过认证的客户端2不再进行认证,直接允许客户端2访问服务端1。

本发明优选的实施方式,如图6所示,步骤S2中的安全认证的方法包括:

步骤S21,预先从服务端1处获取已经保存了且未认证的客户端2的客户端2信息,并根据客户端2的信息生成一第一杂凑值;

步骤S22,从客户端2处获取需要认证的客户端2的客户端2信息,并产生一第二杂凑值;

步骤S23,将第一杂凑值与第二杂凑值进行比较:

当第二杂凑值与第一杂凑值相同时,客户端2认证成功;

当第二杂凑值与第一杂凑值不相同时,客户端2认证失败。

本发明优选的实施方式,将步骤S21中的客户端2信息生成摘要认证数据保存于服务端1中。

将客户端2信息生成摘要认证数据保存于服务端1中,方便服务端1启动时自动加载客户端2信息,而无需在服务器上手动加载客户端2信息。

本发明优选的实施方式,如图7所示,在步骤S2或S3后,还包括:

步骤A,服务端1收到客户端2对共享的文件的操作请求;

步骤B,从服务端1读取已经保存的客户端2对共享的文件的操 作权限的参数;

步骤C,根据读取的操作权限的参数对客户端2执行对应的操作响应。

只有通过安全认证的客户端2才能向服务端1发送操作请求。通过安全认证的客户端2可以向服务端1发送读操作请求或写操作请求。不同的操作请求的操作权限已经在服务端1配置完毕。因此,当服务端1接收到要操作共享文件的操作请求时,服务端1会从配置好的操作权限的参数的文件中查找该客户端2对不同共享文件的操作权限,并将该操作权限赋予给客户端2予以执行。

图8所示的实施例中,服务端1开启后会监听配置参数的端口。当其收到客户端2的请求后就开始一个消息流程。当前客户端2可以请求GET、PROPFIND、PUT、MOVE、DELETE、PROPPATCH、MKCOL、LOCK、UNLOCK等操作,其中PUT、MOVE、DELETE操作要求客户端2具有写权限。在执行操作之前,服务端1首先需要识别用户对共享的文件的访问权限。对于第一次访问服务端1的客户端2,服务端1会发出鉴权响应给客户端2,对其访问权限进行验证;若鉴权成功,也就是安全认证成功,则可执行读操作,而是否可执行写操作,需要服务端1从保存了权限信息的文件中查找该客户端2对该共享文件可执行的操作,若该文件记载了该客户端2可对该文件进行写操作,则可执行PUT、MOVE、DELETE操作,否则不可以执行写操作。若客户端2鉴权失败,则拒绝其访问。对于非第一次访问服务端1的客户端2,当客户端2再次请求访问服务端1时,服务端1 会根据会话控制(session)识别出该客户端2,然后直接接受该客户端2的访问请求。最终服务端1会返回给客户端2一个是否允许执行操作的消息,该消息内携带响应的内容。

本发明大大提高了访问共享资源的便捷性,基于该平台的任何客户端2,只要有网络浏览器就可访问共享资源,而不需要安装额外的工具;基于其所使用协议的成熟度,提高了共享服务的稳定性和安全性;linux下的用户可以不再依赖命令行和配置选项来启动共享服务,更简单直观。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所做出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1