经典论坛's Archiver

bsb250 发表于 2008-7-5 01:09

不同的管理权限登陆后台看到不同的菜单显示,求高手指点

数据库管理用户表为admin,存在字段:Id,adminname,adminpass,flag(存取添加管理员所编辑的权限菜单名字,如新闻管理里的权限就存有newsadd)

后台菜单文件为admin_left.asp,<%=session("AdminName")%>
菜单文件由表格来做成,
登陆后台后已经做到<%=session("AdminName")%>读取用户的ID

欲实现的效果:不同的管理权限用户,进入后台就看到不同的菜单,比如A用户只有新闻管理这个栏目的权限。进去后只显示新闻管理,其他什么菜单都看不到。B用户有新闻管理和图片管理的权限,就看到2个栏目的菜单

这个是怎么实现的呀??是否可以菜单的栏目设定一个栏目一个表格ID,然后可以在admin_left.asp里判断改用户在表admin里的Flag是否存在相关的flag而选择性的显示菜单呢???
希望高手帮帮忙,谢谢~~~~

xincent 发表于 2008-7-5 02:22

一个栏目写成一个子过程

根据权限判断调用哪个子过程

简单明了,易明白还易做

liaoyizhi520 发表于 2008-7-5 10:38

是否有权限的字段,没有就增加一个,就用这个权限字段判断就行了

zchy1111 发表于 2008-7-5 10:48

楼主可以在管理员那个表中建个字段如:“flog”字段中内用如下“1,1,1,0,1,0,1,”分别对应你后台的栏目。 登陆的时候把这个字段写入SESSION 在用一个函数截取分别保存在不同的表里 中  用条件语句判断 变量是1代表有权限,显示相应的内用。变量是0代表没权限。屏蔽相应的内用。

xiydon 发表于 2008-7-5 13:06

路过,看看热闹!

bsb250 发表于 2008-7-5 13:29

[quote]原帖由 [i]zchy1111[/i] 于 2008-7-5 10:48 发表 [url=http://bbs.blueidea.com/redirect.php?goto=findpost&pid=4092854&ptid=2869089][img]http://bbs.blueidea.com/images/common/back.gif[/img][/url]
楼主可以在管理员那个表中建个字段如:“flog”字段中内用如下“1,1,1,0,1,0,1,”分别对应你后台的栏目。 登陆的时候把这个字段写入SESSION 在用一个函数截取分别保存在不同的表里 中  用条件语句判断 变量是1代表有 ... [/quote]

可以教下怎么操作吗??
我现在的admin_left是由表格来做成的,是不是栏目的表格设一个表格ID,代码方便我不知道怎么操作。

zchy1111 发表于 2008-7-5 14:41

和表格id没关系 用条件语句<%if flag0=1 then%>内容。。。。

bsb250 发表于 2008-7-5 14:58

但是admin_left.asp的都是表格和文字连接哦
那些菜单是固定打在那里的.没写进数据库,
这样怎么操作呢??

zchy1111 发表于 2008-7-5 15:22

<%if flag0=1 then%>新闻中心
<%if flag1=1 then%>产品中心

bsb250 发表于 2008-7-5 16:27

还是不明白哦
那我管理分配权限的时候,做一个页面了。
单选栏目的分配方式,打勾了就分配权限
比如勾新闻管理后,表admin里的FLAG字段就有个newmanage
但是登陆管理员获得SESSION,怎么去判断呢????
admin_left里都是死的固定文字连接或者表格。怎么去让他判断有没有权限呢?
如果按你的方式我觉得是可以,但是我不知道怎么去操作。
好郁闷~~

fanbl 发表于 2008-7-5 16:47

你将FLAG字段存入Session
登陆时Session["FLAG"] = 从数据库中读取值.
admin_left.aspx的PageLoad事件中根据你的FLAG字段动态的加载连接
if(!Page.IsPostBack)
{
  if(Session["FLAG"].ToSring() == "你定义的权限1")
  {
      HyperLink link = new HyperLink();
      link.NavigateUrl = "";
      link.Text = "..";
      Panel1.Controls.Add(link);
      .......
  }
  else if(Session["FLAG"].ToString() == "权限2")
  {
      ......
  }
  ......
也可以把不同权限的链接放到不同的用户控件中.根据Session来动态加载用户控件,道理一样!

zchy1111 发表于 2008-7-5 16:52

[code][code]
登陆时把权限字段写入
session("adminflag")=rs("flag")
<%
dim fla,fla0,fla1,fla2,fla3,fla4,fla5,fla6,fla7,fla8,fla9,fla10,fla11,fla12,fla13
fla=split(session("adminflag"),",")
fla0=fla(0)
fla1=fla(1)
fla2=fla(2)
fla3=fla(3)
fla4=fla(4)
fla5=fla(5)
fla6=fla(6)
fla7=fla(7)
fla8=fla(8)
fla9=fla(9)
fla10=fla(10)
fla11=fla(11)
fla12=fla(12)
fla13=fla(13)
%>
<%if fla0=1 then%>
新闻中心
<%if fla1=1 then%>
产品中心
<%if fla2=1 then%>
权限管理
......
[/code][/code]

bsb250 发表于 2008-7-5 17:50

ok
谢谢楼上的兄弟
我试一下

bsb250 发表于 2008-7-5 18:14

<%
dim fla,fla0,fla1,fla2,fla3,fla4,fla5,fla6,fla7,fla8,fla9,fla10,fla11,fla12,fla13
fla=split(session("adminflag"),",")
fla0=fla(newsmanage)
fla1=fla(pic)
%>
<%if fla0=newsmanage then%>
新闻中心

这样有错吗?
但是怎么查询表里的adminflag字段是否含有newsmanage这个权限呢??
现在我做了个页面勾选管理用户ID的权限
进去之后是不该写个查询语句呢?
查询该管理ID的adminflag字段里是否包含有这样的权限字段

aspz 发表于 2008-7-5 21:16

可不可以把目录那块加个select隐藏功能,分别标是ID,再进行权限判断,这样可以吗?

bsb250 发表于 2008-7-5 21:33

这个思路应该可以吧`
但是操作不知道是怎么样

SenFe 发表于 2008-7-5 23:29

[code]<%
Dim SenFe_aFlag(5), aFlag, I
'名称,权限
SenFe_aFlag(0) = "管理员管理@1"
SenFe_aFlag(1) = "会员管理@2"
SenFe_aFlag(2) = "网站基本设置@3"
SenFe_aFlag(3) = "相册管理@4"
SenFe_aFlag(4) = "文章管理@5"
SenFe_aFlag(5) = "商品管理@6"
Session("Flag") = "2,4,5,6"    '测试
For I = 0 To UBound(SenFe_aFlag)
        aFlag = Split(SenFe_aFlag(I), "@")
    If InStr("," & Session("Flag") & ",", "," & aFlag(1) & ",")>0 Then Response.Write(aFlag(0) & "<br />" & VbCrLf)
Next
%>[/code]

bsb250 发表于 2008-7-5 23:39

senfe大哥终于来了
这个功能实现难吗??
可以说下详细应用你这个代码吗??

SenFe 发表于 2008-7-6 00:05

我只是给你个思路参考一下.你运行看下效果就明了.

bsb250 发表于 2008-7-6 00:52

OK,我试下
谢谢各位父老乡亲

bsb250 发表于 2008-7-6 01:13

<table width="18%" height="100%"  border="0" cellpadding="0" cellspacing="0" >
      <tr>
        <td valign="top"><table width="178" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td class="C_Left_03"> </td>
              <td valign="top">
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a2,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 系统设置</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a2">
                  <tr>
                    <td class="Left_Item02"><a href=SiteConfig_Info.asp target=main>基本设置</a> | <a href=Announce_Manage.asp target=main>公告管理</a></td>
                  </tr>
                  <tr>
                    <td class="Left_Item02"><a href=SpaceSize.asp target=main>空间占用</a> | </td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a3,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 图片新闻管理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a3">
                  <tr>
                    <td class="Left_Item02"><a href=Pic_Add.asp target=main>图片新闻增加</a> </td>
                  </tr>
                  <tr>
                    <td class="Left_Item02"><a href=Pic_Manage.asp target=main>图片新闻管理</a> </td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a4,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 新闻管理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a4">
                  <tr>
                    <td class="Left_Item02"><A href=Article_Add.asp target=main>新闻添加</A> | <a href=Article_Manage.asp target=main>新闻管理</a></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a16,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 图片管理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a16">
                  <tr>
                    <td class="Left_Item02"><a href=Img_Add.asp target=main>上传图片</a> | <a href=Img_Manage.asp target=main>图片管理</a></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a8,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 栏目管理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a8">
                  <tr>
                    <td class="Left_Item02"><a href=ArticleClass_Manage.asp target=main>栏目管理</a> | <a href=ArticleClass_Add.asp target=main> 栏目增加</a> </td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a5,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 文件管理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a5">
                  <tr>
                    <td class="Left_Item02"><a href=file_Add.asp target=main>添加文件</a> | <a href=file_Manage.asp target=main>文件管理</a></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a13,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 报刊</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a13">
                  <tr>
                    <td class="Left_Item02"><a href=admin_pic.asp?action=newpic target=main>增加</a> | <a href=admin_pic.asp?action=pic target=main> 管理</a> </td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a11,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 用户管理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a11">
                  <tr>
                    <td class="Left_Item02"><a href=admin_master.asp?action=add target=main>管理员添加</a> | <a href=admin_master.asp target=main>权限管理</a></td>
                  </tr>
                  <tr>
                    <td class="Left_Item02"><a href=admin_password.asp target=main>管理员密码修改</a></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellpadding="0" cellspacing="0" class="Left_Item01">
                  <tr onClick="showMenu(a6,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand"> 数据库处理</td>
                    <td style="CURSOR:hand"><IMG alt="显示/隐藏子菜单" src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder" id="a6">
                  <tr>
                    <td class="Left_Item02"><a href=admin_database.asp?action=BackupData target=main>数据库备份</a> | <a href="../admin1/Admin_zn_List.asp" target="Main"> </a><a href=admin_database.asp?action=RestoreData target=main>数据恢复</a></td>
                  </tr>
                  <tr>
                    <td class="Left_Item02"><a href=admin_database.asp?action=CompressData target=main>数据库压缩</a> | </td>
                  </tr>
                </table>
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_Item01">
                  <tr onClick="showMenu(a12,this)">
                    <td class="Left_Item01_Title" style="CURSOR:hand">版权信息</td>
                    <td><IMG src="../images/admin/down.gif"></td>
                  </tr>
                </table>
                          <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Left_boder">
                  <tr>
                    <td class="Left_Item02" runat="server" id="version"></td>
                  </tr>
              </table></td>
              <td class="C_Left_04"> </td>
            </tr>
            <tr>
              <td width="8" valign="bottom" class="C_Left_03"><img src="../images/admin/JiSu_Admin_48.gif" width="8" height="18"></td>
              <td class="C_Left_02"> </td>
              <td width="8" valign="bottom" class="C_Left_04"><img src="../images/admin/JiSu_Admin_51.gif" width="8" height="8"></td>
            </tr>
        </table></td>
      </tr>
    </table>

对表格不知道怎么操作。
senfe在吗?》

[[i] 本帖最后由 bsb250 于 2008-7-6 02:40 编辑 [/i]]

SenFe 发表于 2008-7-6 01:30

用数组吧,二维数组就行了,这么多内容挨个写判断实在是累.
其实不显示那些链接我觉得没有多大意义,主要是在相关的管理页面加上权限验证就行了.

bsb250 发表于 2008-7-6 01:37

不明白哦:confused:

bsb250 发表于 2008-7-6 02:41

我也是拿人家的后台来改的
自己做也做不出来

carmen1003 发表于 2008-7-6 09:03

将菜单项目做成一个class栏目,然后针对于用户设置每个栏目的操作权限,这样用户登陆系统以后就先判断用户具有哪些栏目的操作权限,有哪些权限。

kyllen 发表于 2008-7-10 05:31

既然你用TABLE:

根据sessioin查询你的权限设置,如果满足条件,就<tr><td><a herf=>功能1</a></td></tr>

页: [1]



Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.