2006年9月22日星期五

11.3创建仅有授权的用户能进入的页面

  除了让用户名和密码登录之外我们还可以运用 MX 创建只有授权用户才能进入的页面。例如,如果用户试图通过浏览器中直接输入 URL 地址来跳过登陆页面的话,他将被引向另一个页面。
 
  类似的,如果设置的权限是给管理人员的,那么中有管理人员才能进入这个页面。如果已经登录的用户试图进入有权限保护的页面的话,他也将被引向另一个页面。
 
  我们可以利用这个功能将站点内容设置不同等级的权限,比如“普通用户”、“一般会员”、“VIP”等等。
 
  如果你不打算使用权限而同时又要保护你的某个页面时,可以全用“Restrict Access To Page”服务器行为。这个服务器行为把任何登录失败的用户指向另一个页面。
 
  如果你打算使用权限访问,那么你需要设置以下两个部分。在记录用户资料的数据库表中需要一个特别的字段,来记录用户的权限。
 
  一个“Restrict Access To Page”服务器行为将没授权的用户指向其他页面。
 
  不论在哪一种情况下,应该有一个页面让用户登出系统,并且将他相关的会话变量清除,这也是保护页面的一方面。在本章的最后我们会介绍登出页面的制作。
 
  为了禁止没有授权的用户进入页面,我们使用“Restrict Access To Page”服务器行为。

 
  注意:“Restrict Access To Page”服务器行为只能保护 HTML 页。它不能保护类似图像文件和音频文件的其他的站点资源。
 
  如果你想在站点上给很多页面相同的进入权限,可以使用拷贝、粘贴的方法来实现。
 
  按如下步骤将未授权用户指向另一个页面:

 
  1、先打开想要保护的页面。
 
  2、在服务器行为面板上单击“+”按钮,选择“User Authentication> Restrict Access To Page” 如图 11.7 所示。

 
图 11.7 选择 Restrict Access To Page 服务器行为
 
  3、如图 11.8 所示,弹出限制进入页面的设置对话框。
 

图 11.8 限制进入页面设置对话框
 
  4、如果想用户使用权限级别来进入页面的话,选择“Username,Password,and Access Level”选项,并且指定这个页面的权限级别。例如,想指定这个用户只能由“Geust”进入,那么在“选取级别:”一栏中选择“Geust”。

 
  5、如果你的权限级别中还没有内容,要想将权限级别加入列表的话,单击“定义”按钮。

 
  6、如图 11.9 所示,在弹出的“定义访问级别”对话框的“名称:”中输入新的权限级别,单击“确定”按钮添加完成。

 
  注意:在你输入了权限级别后,MX 将为你保存下来。一定要确认输入的字符串与用户数据库上的字段相匹配。
 

图 11.9 添加新的权限级别
 
  7、当然你也可以给同一个页面多个访问级别,让不同级别的用户都能访问。在权限列表中按住 Ctrl 键,单击多个即可。

 
  8、最后指定未授权的用户将打开的页面,单击“确定”完成设置。

 
  在数据库里要存储不同权限的用户信息,当希望登录的用户有不同的权限的时候,这个步骤是必不可少的。如果仅仅要求用户登陆的话,就不需要存储进入的权限。如果想登陆的用户有不同的级别的权限,首先得确认你的用户数据库表中包含说明每个用户权限的字段即普通浏览者、用户、管理人员等。

 
  每个用户的权限都应该保存在数据库中。在大部分的数据库应用程序中,当一个新记录被创建的时候,你能把一个默认值设置到某个字段上。所以我们可以把最普通的权限在每个用户注册时设置为默认值,然后用手工改变其他权限(例如:把“Guest”变成“Administrator”后,这个用户就可以进入管理者页面了)。
 
  请大家一定要注意确认每个数据库里的用户都只有单一的级别权限,不能是类似“User,Administrator”的多重权限。
 
  如果想为你的页面设置多个级别权限,例如,所有“Guest”和“Administrator”都能进入这个页面的话,你需要做的是将不同的权限级别赋予这个页面,而不是赋予给数据库的权限字段。
 
  11.4 用户登出系统

 
  当用户成功地登录的时候,一个包含用户名的会话变量被创建。当用户离开你的站点的时候,你能用“Log Out User”服务器行为来清除会话变量,把用户指向另一个页面,通常上面写着“登出”字样。
 
  我们可以在用户单击一个链接,或者进入某个指定的页面的时候调用“Log Out User”服务器行为。
 
  按下面步骤让用户单击链接时登出站点。


  1、首先在页面上选择一个作为链接的文本或图片。
 
  2、在服务器行为面板上单击“+”按钮,选择“User Authentication> Log Out User”,如图 11.10 所示。

 
图 11.10 选择用户登出服务器行为
 
  3、出现登出用户设置对话框,如图 11.11 所示。
 

图 11.11 登出用户设置对话框
 
  4、指定当用户单击链接的时候打开的页面(这个页面通常是一些表示感谢光临的字样)。

 
  5、单击“确定”完成设置。注意:当你选择“页面载入”这一项时,用户会在进入指定的页面后自动登出。

没有评论: