不同的管理权限登陆后台看到不同的菜单显示,求高手指点
数据库管理用户表为admin,存在字段:Id,adminname,adminpass,flag(存取添加管理员所编辑的权限菜单名字,如新闻管理里的权限就存有newsadd)后台菜单文件为admin_left.asp,<%=session("AdminName")%>
菜单文件由表格来做成,
登陆后台后已经做到<%=session("AdminName")%>读取用户的ID
欲实现的效果:不同的管理权限用户,进入后台就看到不同的菜单,比如A用户只有新闻管理这个栏目的权限。进去后只显示新闻管理,其他什么菜单都看不到。B用户有新闻管理和图片管理的权限,就看到2个栏目的菜单
这个是怎么实现的呀??是否可以菜单的栏目设定一个栏目一个表格ID,然后可以在admin_left.asp里判断改用户在表admin里的Flag是否存在相关的flag而选择性的显示菜单呢???
希望高手帮帮忙,谢谢~~~~ 一个栏目写成一个子过程
根据权限判断调用哪个子过程
简单明了,易明白还易做 是否有权限的字段,没有就增加一个,就用这个权限字段判断就行了 楼主可以在管理员那个表中建个字段如:“flog”字段中内用如下“1,1,1,0,1,0,1,”分别对应你后台的栏目。 登陆的时候把这个字段写入SESSION 在用一个函数截取分别保存在不同的表里 中 用条件语句判断 变量是1代表有权限,显示相应的内用。变量是0代表没权限。屏蔽相应的内用。 路过,看看热闹! [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,代码方便我不知道怎么操作。 和表格id没关系 用条件语句<%if flag0=1 then%>内容。。。。 但是admin_left.asp的都是表格和文字连接哦
那些菜单是固定打在那里的.没写进数据库,
这样怎么操作呢?? <%if flag0=1 then%>新闻中心
<%if flag1=1 then%>产品中心 还是不明白哦
那我管理分配权限的时候,做一个页面了。
单选栏目的分配方式,打勾了就分配权限
比如勾新闻管理后,表admin里的FLAG字段就有个newmanage
但是登陆管理员获得SESSION,怎么去判断呢????
admin_left里都是死的固定文字连接或者表格。怎么去让他判断有没有权限呢?
如果按你的方式我觉得是可以,但是我不知道怎么去操作。
好郁闷~~ 你将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来动态加载用户控件,道理一样! [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] ok
谢谢楼上的兄弟
我试一下 <%
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字段里是否包含有这样的权限字段 可不可以把目录那块加个select隐藏功能,分别标是ID,再进行权限判断,这样可以吗? 这个思路应该可以吧`
但是操作不知道是怎么样 [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] senfe大哥终于来了
这个功能实现难吗??
可以说下详细应用你这个代码吗?? 我只是给你个思路参考一下.你运行看下效果就明了. OK,我试下
谢谢各位父老乡亲 <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]] 用数组吧,二维数组就行了,这么多内容挨个写判断实在是累.
其实不显示那些链接我觉得没有多大意义,主要是在相关的管理页面加上权限验证就行了. 不明白哦:confused: 我也是拿人家的后台来改的
自己做也做不出来 将菜单项目做成一个class栏目,然后针对于用户设置每个栏目的操作权限,这样用户登陆系统以后就先判断用户具有哪些栏目的操作权限,有哪些权限。 既然你用TABLE:
根据sessioin查询你的权限设置,如果满足条件,就<tr><td><a herf=>功能1</a></td></tr>
页:
[1]