Dreamweaver Mx 2004 的登陆用户服务器行为与 Dreamweaver MX 的此行为基本类似。通过这个行为,我们可以很方便的构造用户登陆的程序。而通过用户验证服务器行为,我们可以对指定的页面进行权限判定。 首先声明,登陆用户服务器行为仅仅是生成代码,不能构造相关页面。而我们在这里主要是解析 Dreamweaver 生成代码的含义,以便大家灵活的应用。凡是学过 asp 的朋友都清楚,用户的验证也就是到用户表内查询指定的用户名和密码,如果找到,则代表可以登陆,否则即为错误。而权限方面主要是应用 Session 变量或 Cookies ,Dreamweaver 也是如此。但 Dreamweaver 为我们自动的提供了2个 Session ,也就是"用户名"和"密码"。而至于权限级别也得用到指定的数据库字段。而在实际应用中,仅仅应用2个 Session 是不够的,有可能需要更多的 Session,也就是我们需要修改 Dreamweaver 生成的代码。
首先,构造一个用户登陆服务器行为,在此之前需要建立一个用户登陆区。登陆区可以包含用户名和密码框,在此建议这两个文本框的名字最好和数据表中的相同。对话框参见[图1]:
图1
经过对话框,Dremamweaver 为我们生成了大量的代码,参见图2,下面我说说如何增加自己的 Session。
当应用登陆用户服务器行为后,Dreamweaver 自动建立了一个名叫 MM_rsUser(Dreamweaver 代码使用的变量都是以 MM_ 为前缀)的记录集。在图2我画的矩形内是我自己增加的代码,Dreamweaver 原本的意思是当用户正常登陆后,页面自动跳转到我们指定的登陆成功页面。而我们需要在跳转之前放置 Session 赋值语句,放置的位置也就是矩形的位置。如果直接赋值为变量或常量便可以直接赋值,如果赋值数据表中的字段,可以引用 Dreamweaver 生成的记录集变量 MM_rsUser,大家可以详细观看[图2]来分析。
图2
这样一来,就可以增加任意的 session 变量了。比如性别、年龄、登陆次数等等。但如果不仅仅是需要简单的赋值而是要执行命令怎么办呢?也就比如是登陆次数加一这类的。也不要紧,我们可以直接在一个空页面中建立相应的 command 对象,建立好后把代码直接复制到刚才的位置上即可。
上面分析了登陆用户行为代码的修改,修改后,Session 的数量可以随意控制。那么,如何使限制对页的访问服务器行为也识别自定义 Session 变量呢?ok,下面看看限制对页的访问服务器行为生成的代码都是什么,如图3:
图3
首先说明,[图3]中 矩形1 的范围代码是我手工增加的。先说说 矩形2 部分,这是个判断语句,主要是判断指定的 session 变量是否为空,如果为空则代表是非法用户。如果为合法用户,则将变量 MM_grantAccess 赋值为true(MM_grantAccess 默认为 false)经过判断后,在代码的第 19 行开始判断 MM_grantAccess 变量。我们的目的就是修改 Dreamweaver 生成的代码,使能够其识别和判断我们的自定义 session 变量。
为了能够识别自定义的 seesion 变量,大家可以在矩形1的位置上防照矩形2的代码格式来构造自己的判断语句。如果不需要矩形2访问的代码识别,可以索性删除掉。
经过如上介绍,我们可以任意拓展登陆的代码,使其更适合各类应用程序。切图以 Dreamweaver MX 2004为主,Dreamweaver MX 亦如此。