基于FTP的教学资源管理平台设计与实现

2020-03-03 01:05:12 来源:范文大全收藏下载本文

基于FTP的教学资源管理平台设计与实现

摘要:在现代教学过程中,师生之间经常需要交流大量的文件,如课件,作业等。传统的文件交流方式,如电子邮件,网站,专用软件,FTP等形式都有各自的缺点,效果不够理想。本文探讨改进基于FTP的教学资源管理平台,主要包括使用第三方软件搭建FTP服务器,使用ASP.Net编写的平台对用户帐户和发布的资源进行管理,以及使用VPN技术让校园外网用户访问校内的FTP服务。

关键字:FTP ,教学资源,Serv-U

一、校园教学资源管理现状

在现代教学过程中,师生之间经常需要交流大量的教学资料:教师向学生发布的课件、教案、作业、习题、课程相关素材以及课外学习资料;而学生也需要向教师提交课堂练习、课后作业、实验报告等材料。目前,这个过程主要通过以下几种方式进行:

1、电子邮件:学生交作业时最常用。主要缺点:不易确认是否送达;容易出现重复邮件;不适合大文件传送。

2、HTTP方式:在建设精品课程时最为常见。主要缺点:需要事先准备网站并上传资源;一般只用于下载。

3、局域网内的C/S程序:各种机房教学软件一般自带作业收发功能。缺点:必需在同一机房内才能进行;容易出现数据包丢失,导致传送的文件损坏。

4、FTP方式:师生可快速上传和下载各种教学文件。而FTP的部署有很多选择,如Windows系统自带的组件、Serv-U、Home FTP Server和Gene6 FTP Server等。不足之处:需要配置大量帐户,否则管理困难。

二、部署基于FTP的教学资源站

1、选择部署FTP服务器的软件,需要满足以下要求软件:

1)可以配置足够多的用户帐户;

2)能够对各用户帐户进行配置,如主目录、文件访问权限、传输速度控制、限定用户可使用的磁盘空间大小等;

3)能够灵活地配置虚拟目录,使得当用户被隔离在自己的专用目录中的同时,还能够便捷地访问一部分存放其它文件夹中的公共资源,如教师发布的课件;

4)可以将用户分组进行管理,如:以班级为单位分组,然后统一配置权限;

5)能将用户及配置信息以数据库的形式保存和调用,方便我们对FTP站点的管理;

满足以上条件的FTP服务器软件有很多,即有收费的,也有免费的;其中,应用较为广泛,各类参考资料较多的是Rob Beckers公司开发的收费软件,Serv-U。这个软件目前的最高版本为11.x。

2、在Serv-U中创建域并配置数据库

Serv-U在安装完成后,先要添加一个域,然后为域指定侦听端口(默认21),接着是用户管理。用户相关的信息默认存放在工作目录中的配置文件里。为了方便管理和二次开发,我们在Windows中配置好使用SQL数据库的ODBC数据源,然后指定Serv-U使用这个ODBC数据源。

3、Serv-U的用户管理

创建域之后,首先应该先按照本单位的组织结构及角色分类创建相应的群组,如系部组、班级组、教师组、学生组等。其次是添加用户信息,主要有以下步骤:

1)为每个用户(学生、老师)创建一个帐户并设置“允许用户修改密码”;为了方便管理,帐户名通常为学号和工号;

2)设定用户的主目录和目录权限;通常用户在自己的主目录里有完整的权限(读、写、重命名、删除、创建子目录);

3)设定用户的磁盘配额(可以使用的磁盘空间大小)及文件传输时的速率(上行/下载);

4)将用户加入对应的群组,根据之前步骤创建的群组,

5)设置用户密码并下发;以下是两种密码下发和管理的思路:

①Serv-U 11.X版在用户的WEB登陆界面中提供了“找回密码”功能,在配置好SMTP服务后,用户随时可通过自己的帐号和预设的邮箱重设自己的密码。

②采用Vs2008自行设计一个.net站点提供用户管理功能,使用Linq技术实现数据库的增删改查的操作。

应当注意的是,Serv-U的数据库中的用户密码是加密存储的,公式为: 存储密码= xy+MD5加密(xy+用户密码)

其中,xy为两个随机生成的小写字母。 参考代码如下:

private string Encode(string strUserPsw) { //此方法将用户输入的密码加密为Serv-U的密码存储格式

Random R = new Random(); string Head = ((char)(97 + R.Next(25))).ToString() + ((char)(97 + R.Next(25))).ToString(); string UserPaword = System.Web.Security.FormsAuthentication.HashPawordForStoringInConfigFile( Head + strUserPsw, \"MD5\"); return Head + UserPaword; } private bool CheckPaWord(string PswFromInput, string PswFromDB) { //此方法比较用户输入的密码与数据库中记录的密码是否一致

string Head = PswFromDB.Substring(0, 2);//Head=数据库中记录的用户密码前两位

string ePawFormInput = System.Web.Security.FormsAuthentication.HashPawordForStoringInConfigFile( Head + PswFromInput, \"MD5\"); //将 Head+用户输入密码 进行MD5加密

return ePawFormInput==PswFromDB; }

4、虚拟目录和用户群组

虚拟目录是我们选择Ser-U的一个重要原因。我们的平台要求每个用户在使用前必需先登录,并锁定用户在各自独立的主目录内,这时若需要用户能够访问到一些在他们主目录之外的资源,就需要使用虚拟目录了。添加虚拟目录后,还需要对相关的用户群组设置目录权限。具体过程举例如下:

①假设整个FTP站点的工作目录为K:\\jtFTP;

②在站点工作目录下建立两个子目录:Teachers和Students,分别用于存放教师帐户和学生帐户对应的主目录;如教师帐户t0016对应的主目录是K:\\jtFTP\\Teacher\\t0016\\;

③教师t0016需要向09软件班发布课堂练习素材时,先将文件上传到自己的FTP主目录的一个子目录(share)中,然后在当前FTP域内建立虚拟目录,主要包括:

 物理路径: K:\\jtFTP\\Teacher\\t0016\\share\\;

 映射到: %HOME%(这是一个系统变量,指代用户的主目录);  虚拟名称: 张老师_课堂练习_0301;

④虚拟目录建立后,给对应的用户群组(09软件班)添加share目录的读取和列表权限;如果没有指定权限,学生的主目录中不会出现上一步骤中建立的虚拟目录;

⑤此班级学生登录FTP后,将在自己的主目录中看到一个新的子目录(张老师_课堂练习_0301),目录中的内容可以下载,但无法删除和修改;

⑥当需要学生提交作业时,教师t0016在自己的主目录新建一个子目录(stuWork),并确保这个子目录内已经为每个学生建立了一个与学生帐户同名的文件夹,然后在当前FTP域内建立虚拟目录,主要包括:

 物理路径: 教师主目录\\stuWork\\20120301\\%user%;(%user%变量指代用户帐户,如学生s010901091访问的这个虚拟目录其物理路径为“\\20120301\\s010901091\\”)  映射到: %HOME%;

 虚拟名称: 交作业0301;

⑦虚拟目录建立后,给班群组添加“教师主目录\\ stuWork \\20120301\\”完整文件权限;

⑧此时学生的主目录中将出现名为“交作业0301”的新文件夹,学生可以在此目录内随时提交和修改文件;同时每个学生在此虚拟目录中的操作都是相对独立的,不会互相影响。

学生登录后的虚拟目录示意图,对用户来说和普通目录没有什么区别

⑨教师可以使用FlashFxp等FTP客户端工具将位于自己主目录下的作业目录快速地复制下来。

上述教师建立虚拟目录的过程可以通过自编写WEB站点来实现。教师只需要在WEB站点中填写新建虚拟目录的名称,选择对应的班级群组和权限即可;站点界面参考如下。

三、让外网用户访问FTP服务器

校园内网通常都会部署防火墙,如果想让外网访问内网的服务,一般需要在防火墙上开放一个对应的端口。

FTP服务工作时通常使用的是Pasv模式。这个模式一般需要两个连接。一个固定的侦听端口(默认为21),一个连接用的端口。当客户端向服务器进行连接时,服务器会在预先指定的端口范围中选中一个(如4068)并打开,然后告知客户端,客户端收到消息后,向服务端的这个端口发起连接,连接成功后才可以正常使用FTP服务。因此,同时在线的用户越多,开启的新端口就越多。如果要允许用户在外网直接以FTP方式访问,则需要在防火墙上开启一系列的端口,增加安全隐患。

目前比较常用的解决方法是通过VPN进行访问:校园内网的防火墙上只开启VPN服务;外网用户首先通过VPN拨号进入内网,然后就可以像在内网中一样正常使用内网服务了。至于VPN服务的部署有很多种方式,可以使用专门的VPN服务器,在防火墙开放VPN服务相关的几个端口;也可使用自带VPN服务的防火墙,如fortigate 1000A。

另外,Serv-U 11.X版本中提供的以WEB形式访问FTP的功能为我们提供了一个新的解决方案:只需要在防火墙上开放一个WEB服务的端口,用户就可以像浏览网站一样访问FTP上的资源了。

教学资源共享平台设计与实现

《软件测试》教学平台的设计与实现

PLC一体化教学实验平台设计与实现

磁共振成像仿真平台设计与实现

基于J2EE技术的网络教学平台的设计与实现

基于Hadoop的云教学资源平台设计与实现

基于开源Moodle网络教学平台的设计与实现

设计与实现

设计与实现

基于JSP+XML+SQL Server开发网络教学平台的设计与实现

《基于FTP的教学资源管理平台设计与实现.doc》
基于FTP的教学资源管理平台设计与实现
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文