ASP教程之基于用户的平安战略在B/S中的完成(2)
使用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就不用说了, 掌握asp的特性而且一定要知道为什么。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
页:
[1]