Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147364
  • 博文数量: 28
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-19 12:47
文章分类

全部博文(28)

文章存档

2011年(1)

2009年(11)

2008年(16)

我的朋友

分类:

2008-11-26 21:39:16

权限管理的核心,就是对不同权限的用户,分配管理对应权限的资源。

    本例以一个网站栏目后台管理模块(资源)的权限管理为例,实现了不同用户的权限管理。

    数据库设计:

    帐户信息表:
      f_i_autoid     自动编码(主键)
      f_i_orderid
      f_accountid    帐户编码
      f_accountname  帐户    (外键)
      f_password     密码
      f_accounttype
      f_username
      f_remark
      f_datetime


      栏目信息表:
      f_i_autoid    自动编码(主键)
      f_i_orderid
      f_lanmuid     栏目编码
      f_lanmuname   栏目    (外键)
      f_ishidden
      f_remark
      f_datetime


      权限表:
      f_i_autoid    自动编码(主键)
      f_accountname 帐户    (外键)
      f_lanmuname   栏目    (外键)
      f_remark
      f_datetime

    通过权限表的 f_accountname 帐户(外键)和 f_lanmuname 栏目(外键)把帐户信息表
    和栏目信息表联系起来,通过给“帐户”分配“栏目”,或者给“栏目”分配“帐户”,使帐户和栏目建立关系(可以是“一对多”“多对一”或者“多对多”)。

    然后以当前登陆的帐户为基准,在权限表中查找其可管理的栏目(资源)。

    本例实现了一个用户对多栏目的管理(但是一个栏目只能被一个用户管理 - 这个通过程序代码的约束来实现)。

    以下是部分代码:
<% Option explicit %>



  编辑权限
 
 
 
 
 

<%
  Dim sSQL, rs1, rs2, rs3, CurrentAccount

  CurrentAccount = request("CurrentAccount")
%>



 

   

 

 

 

   

   

   

 

 

   

 


           
      帐号信息:
       
        <%
          sSQL = "select * from tabAccountInfo where f_accountname='" & CurrentAccount & "'"
          Set rs1 = Server.CreateObject("ADODB.Recordset")
          rs1.open sSQL, sConn, 1, 1
          if rs1.eof and rs1.bof then
            response.write("没有取得该用户的信息。")
            response.end
          else
            response.write " [帐号:] " & rs1("f_accountname") & " [用户姓名:] " & rs1("f_username") & " [帐号类型:] " & rs1("f_accounttype")
          end if
          Set rs1 = nothing
        %>
   

      已分配该用户管理的栏目:


     
     
   

     


     


     




     


     

   

      待分配的栏目:


     
   

     
            
     
   

    源代码下载:

阅读(684) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~