2006年9月22日星期五

第十一章 创建具有访问权限的页面

  MX 可以为我们创建具有访问权限功能的页面,我们可以不用编写复杂的服务器代码就可以给网站添加密码保护,给不同的用户不一样的访问权限。这个功能由以下几部分组成。
 
  在用户第一次访问站点时出现的用户注册页面。
  让注册用户进入站点的登陆页面。
  只有授权的用户才可以浏览的页面。
 
  11.1 创建注册页面

 
  注册页面由以下几个部分组成:

  一个用于存储用户注册信息的数据库表。
  一个 HTML 表单,让用户填写用户名、密码。另外还能用表单来等到用户其他的个人信息。
  一个“插入记录”的服务器行为来更新站点用户的数据库表。
  一个“Check New Username”核对新用户名的服务器行为,用来确认输入的用户名是否已经被其他用户使用了。
 
  存储有关用户的注册信息

 
  注册页面需要一个数据库表来存储用户输入阻抗的注册信息。你的数据库表中必须有用户名和密码字段。如果想使登录后的用户有不同的权限,那么数据库中还应该包括权限字段。
 
  如果想设置一个通用的密码让所有用户才能进入,那么就需要配置你的数据库应用程序,让它为每个用户输入一个默认的密码。在大部的数据库应用程序中,每次新记录被创建时都能把默认值设置到字段上。另外还可以用数据库表来存储有关用户的其他信息。
 
  让用户选择用户名和密码

 
  在页面上添加 HTML 表单,让用户可以输入用户名和密码。
  1、创建一个新页面。
  2、在适当的位置插入一个 HTML 表单。
  3、选中这个 HTML 表单,在属性面板上输入表单名字,给它取个名。在这里不必给这个表单指定“动作”或者“方法”,“插入记录”的服务器行为将为我们设置好这一切。

 
  4、添加文本区域让用户输入姓名和密码,如图 11.0 所示。另外为了记录其它的个人数据,可以为表单设置更多的表单对象。在这些表单对象旁边,还应该添加说明文字,告诉用户对应的内容。
 
图 11.0 添加输入姓名和密码的文本区域
 
  将用户信息添加到数据库里

  1、我们用插入行为把用户添加到数据库里。在服务器行为面板选择“插入记录”。
 

图 11.1 选择插入记录
 
  2、弹出如图 11.2 所示的插入记录设置对话框。

 
图 11.2 插入记录设置对话框
 
  3、在“提交值,自:”一栏中选择表单的名字。

 
  4、在“连接:”和“插入表格:”的下拉菜单中指定用户在数据库中的表。

 
  5、在“列:”中设置页面上的文本域和数据库中表的字段相对应。

 
  6、设置插入后转到哪一个页面后点击“确定”完成全部的设置。

 
  确认被选择的用户名是唯一的

 
  我们可以添加一个服务器行为,来确认用户名是否唯一。用户单击提交按钮的时候,这个服务器行为将用户输入的名字与数据库中存储的用户名相比较。 如果在数据库中找不到相同的用户名,服务器行为就执行插入记录的操作。
 
  如果找到一样的用户名,服务器行为就取消插入记录操作,打开一个新页面,这个页面一般是关于“你的用户名已存在”的信息。
 

  按如下步骤来使用这个服务器行为:

  1、在服务器行为面板上点击“+”按钮,从下拉菜单中选择“User Authentication>Check New Username”,如图 11.3 所示。 注:MX本身不提供“User Authentication”服务器行为,你可以在http://abcmmm.googlepages.com来下载和使用它。
 
图 11.3 选择核对新用户名的服务器行为
 
  2、出现对新用户的设置对话框,如图 11.4 所示。
 

图 11.4 核对新用户名设置对话框
 
  3、在“Username Fidld”的下拉列表框里选择让用户输入用户名的表单文本区的名字。

 
  4、在“If Already Exists,Go To”框里指定如果相同的用户名在数据库表中存在时要跳转到的页面。

 
  5、这个页面是提醒用户“该用户名已存在”的页面。单击“确定”完成设置。注册成功后,用户名、密码及相关资料都保存在数据库中,接下来就是让注册用户登陆。

 
  11.2 创建登陆页

 
  当用户注册成功后,他就可以用注册的用户名和密码登录你的网站了。
 
  登陆页面由以下几部分构成:


  一个已经存储注册用户资料的数据库表。
  让用户输入用户名和密码的HTML表单。
  一个“Log In User”的服务器行为,用来确定输入的用户名和密码是否有效。
 
  首先需要一个存储已经注册的用户信息的数据库表,用来检查在登录页面输入的用户名和密码是否有效。其实这个表在前面创建用户注册页面时就已经生成了。

 
  其次要在页面上添加一个 HTML 表单,让用户输入用户名和密码登陆。这个页面和注册页面基本上是一样的。

 
  最后我们使用“Log In User”服务器行为来检验用户名和密码是否有效。

 
  1、在服务器行为面板上单击“+”按钮,在下拉菜单中选择“User Authentication>Log In User”, 如图 11.5 所示。
 

图 11.5 选择登陆用户服务器行为
 
  2、弹出“Log In User”设置对话框,如图 11.6 所示。

 
图 11.6 Log In Usre 设置对话框
 
  3、在“Get Input From Form:”一栏指定登陆页上的表单,在“Username Field:”和“Password Field”右边的下拉菜单中分别指定登陆页上的姓名文本框和密码文本框。

 
  4、在“Validate Using Connection:”一栏中指定数据库,在“Table:”一栏中指定数据表,在“Username Colume:”一栏中指定姓名字段,在“Password Colume:”指定密码字段。这个服务器行为将比较访问者在登录页面上输入的用户名和密码与数据库中表的字段值是否一致。

 
  5、在“If Login Succeeds,Go To:”一栏中输入登陆成功后要打开的页面,在“If Login Fails,Go To:”一栏中输入登陆失败后要打开的页面。

 
  6、在“Restrict Access Based On:”指定是否只根据“Username and Password”登录,或者除了用户名和密码之外还需要“Username,Password,and Access Level”权限认可才能登陆。稍后我们会详细讲解权限登陆的问题。单击“确定”完成设置。

没有评论: