|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。平安|战略2菜单办理
菜单办理次要包含两部分的内容,菜单项的编纂保护与依据以后上岸用户的权限举行菜单的天生。
菜单的编纂保护就是指对菜单表的保护。由于对照复杂,在此不做具体申明,只是要注重以下三个成绩:
第1、菜单编号与权限位数的天生。由于菜单项是能够删除的,假如新增菜单项猎取编号与权限位数时只是在最年夜的编号上增1的话,必需会招致编码资本的华侈,出格是权限位数,只要100位,假如因为跳号而招致了编码资本的华侈,一定招致新功效模块无编码资本可用。以是,在增加新菜单项是必需要办理跳号的成绩。请看以下取编号与权限位数的语句:
selectmin(CDBH)+1fromCDBwhereCDBH+1notin(selectCDBHfromCDB)
selectmin(QXWS)+1fromCDBwhereQXWS+1notin(selectQXWSfromCDB)
我们只需包管关于菜单保护自己的这个功效模块给它分派菜单编号为1,权限位数为1的话,就可以够包管在任何情形下新增菜单项时菜单编号与权限位数不会跳号,编码资本可以失掉充实使用。由于菜单保护自己这个菜单项在一般情形下是不会被删除的。
第2、出口路径是指进进本功效模块的第一个页面的毗连地点,请注重路径的绝对性成绩。
第3、相干文件是指完本钱功效模块的页面组合。一样平常情形下,一个菜单项下毗连一个功效模块,要完成该功效模块的功效大概必要多少个ASP页面。比方,菜单项1的出口路径是../menu1.asp,还要以下三个页面,menu11.asp,menu12.asp,menu13.asp,则相干文件的内容是指meunu1.asp,menu11.asp,menu12.asp,menu13.asp这个字符串序例。该项的次要感化是为了平安反省而设置的,也就是页面在体系中的注册历程。
依据以后上岸用户的权限举行菜单天生时有一个关头的会话变量:Session("YHQX"),该变量在前面将要举行形貌的平安反省过程当中天生,一向保留到用户加入体系大概会话超时生效时为止。内里的内容就是100位确当前上岸用户的权限字符串。依据该变量天生菜单的历程以下:
<%sql="select*fromCDBwhereFCDBH=0orderbyCDBH"
setRs=Conn.execute(sql)
获得菜单表中的一切有子菜单的父菜单
遍历父菜单
dowhilenotRs.eof
SubMenuNum=0
sql="selectQXWSfromCDBwhereFCDBH="&Rs("CDBH")&"orderbyCDBH"
setRs1=Conn.execute(sql)
猎取以后父菜单下的一切子菜单
遍历以后父菜单下的子菜单
dowhilenotRs1.eof
ifMid(Session("YHQX"),Rs1("QXWS"),1)=1then
SubMenuNum=SubMenuNum+1
假如以后用户有以后子菜单的权限,则子菜单的个数加上1
endif
Rs1.movenext
loop
Rs1.close
setRs1=nothing
ifSubMenuNum>0then
假如以后用户确当前父菜单的下子菜单个数年夜于零则天生该父菜单
ifRs.bofthenFirstMenu=Rs("CDBH")endif
MenuNum=Rs("CDBH")
ParentName=Rs("CDMC")
response.write"<!--"&ParentName&"父菜单-->"
%>
<menuclass=parentname=<%=ParentName%>url=<%=Rs("RKLJ")%>target=mainFrame>
菜单的情势与款式依据必要本人调剂,这里接纳泛指体例
<%
response.write"<!--"&ParentName&"子菜单-->"
sql="select*fromCDBwhereFCDBH="&MenuNum&"orderbyCDBH"
setRs1=Conn.execute(sql)
查找该父菜单下的一切子菜单
dowhilenotRs1.eof
ifMid(Session("YHQX"),Rs1("YHQX"),1)=1then
%>
<menuclass=childname=<%=Rs("CDMC")%>url=<%=Rs("RKLJ")%>target=mainFrame><br>
菜单的情势与款式依据必要本人调剂,这里接纳泛指体例
<%
endif
Rs1.movenext
loop
Rs1.close
setRs1=nothing
endif
Rs.movenext
loop
Rs.close
setRs=nothing
%>
因为本体系只要两级菜单,以是没有扳连到菜单递回挪用天生的成绩。假如要完成的话必需把菜单天生历程界说成函数情势,才干举行递回挪用,在此不做具体会商。
3权限分派
权限的分派由用户组权限分派与用户的权限分派两部分构成。是将详细的菜单与用户组大概用户联系关系的历程。
起首看用户组的增加界面以下:
<formname="zjyhz"method="post"action="yhzbmb_zj.asp"onsubmit="returncheckinput(this)"><!--挪用输出查验函数,并天生权限字符串-->
<inputtype="hidden"name="action"value="zjyhz">
<tablecellpadding="0"cellspacing="0"width="100%">
<tr>
<td><fieldsetalign="center"><legend>增添用户组
</legend>
<inputtype="hidden"name="DQDWDM"value="<%=DQDWDM%>"><!--由前一页传进,以后单元编码-->
用户组称号:<inputtype="text"name="yhzmc"size="50"maxlength="50"><br><br>
设置用户组权限:<br>
<tablewidth="100%"border="0"cellpadding="0"cellspac</p>对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, |
|