《ASP訪問權(quán)限設(shè)置技術(shù)_》由會員分享,可在線閱讀,更多相關(guān)《ASP訪問權(quán)限設(shè)置技術(shù)_(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、ASP訪問權(quán)限設(shè)置技術(shù)_ 在設(shè)計網(wǎng)頁時,常常遇到某些頁面需限權(quán)訪問的狀況。比如,一個公司的某些產(chǎn)品只讓某一或某些供應(yīng)商或客戶掃瞄。那么,我們?nèi)绾螌?shí)現(xiàn)這一功能呢?本文,筆者將向讀者介紹幾種限制客戶訪問權(quán)限的方法。 通常,我們在設(shè)計過程中會面臨三種狀況:某一頁面只讓某一用戶掃瞄、某一頁面只讓某些用戶掃瞄和某些頁面只讓某些用戶掃瞄。第一種狀況很簡潔,筆者不再敘述,下文將具體介紹后兩種狀況的設(shè)計方法。 一、某一頁面只讓某些用戶掃瞄 將這些客戶的信息保存在數(shù)據(jù)庫中,若能在數(shù)據(jù)庫中檢索到客戶輸入的姓名和密碼就允許訪問該頁面。 Protect.asp文件 需限權(quán)訪問的頁面 htmlheadtitle賽迪主頁
2、/title/headbody bgcolor=#00FFFF 此處可輸入該頁面的其它內(nèi)容 form action=Protect.asp method=post 請輸入姓名: input type=text name=text 請輸入密碼:input type=password size=20 name=password input type=submit name=B1 value=查詢/p/form %set conn=server.createobject(adodb.connection) conn.open asptest asptest是存放客戶信息的表單permission所在
3、的數(shù)據(jù)庫的名字 sql1=select from permission where xm= request.form(text) and mima=request.form(password) set rs=conn.execute(sql1)% 假如數(shù)據(jù)庫中存在客戶輸入的姓名和密碼,就顯示頁面product.asp的超級鏈接 % if not rs.eof then%a href=product.asp本公司的產(chǎn)品/a %end if%/body/html 二、某些頁面只讓某些用戶掃瞄 我們可以設(shè)計一登錄頁面register.asp,假如客戶沒有登錄,在進(jìn)入每個需限權(quán)訪問的頁面時強(qiáng)制客戶先訪
4、問頁面register.asp實(shí)現(xiàn)登錄。勝利登錄之后自動返回到剛才要訪問的頁面。我們可用cookies和session兩種方法來實(shí)現(xiàn)。 1.用cookies實(shí)現(xiàn) 假如客戶已經(jīng)登錄過,就把登錄的信息記錄在客戶端的cookies中,之后客戶就可挺直掃瞄其它限權(quán)訪問的頁面。 register.asp % if request.form(b1)=提交 then set conn=server.createobject(adodb.connection) conn.open asptest sql1=select * from permission where xm= request.form(name
5、) and mima=request.form(password) set rs=conn.execute(sql1) if not rs.eof then response.cookies(register)=true rs.close conn.close end if 若數(shù)據(jù)庫中存在該用戶的信息,就記錄該用戶勝利登錄的標(biāo)記到cookies中 end if% htmlhead/head body bgcolor=#c0c0c0 p align=centerbigbigbig友愛的客戶,請您登錄! /big/big/big/phr form action=register.asp metho
6、d=post name=form1 div align=centerp姓名: input name=name size=13/p p密碼:input name=password size=13type=password/p/div div align=rightinput type=submit name=b1 value=提交 /div/form/body/html Protect.asp文件 需限權(quán)訪問的頁面 %if request.cookies(register)true then response.redirect register.asp end if% 若客戶未登錄,則強(qiáng)制客戶登
7、錄 htmlhead/head body bgcolor=#00FFFF 此處是需愛護(hù)的頁面內(nèi)容 /body/html 2.用session實(shí)現(xiàn) session是用戶級的全局變量, 我們將客戶勝利登錄的信息記錄到session中后,用戶就可挺直掃瞄其它限權(quán)訪問的頁面了。 global.asp script language=vbscript runat=server sub Session_onstart session(register)=false 記錄客戶勝利登錄的信息 session(lognumber)=0 記錄客戶嘗試登錄的次數(shù),最多允許嘗試三次 session(prescript
8、)= 記錄客戶要訪問的頁面,以便登錄后返回該頁 end sub /script register.asp % if request.form(b1)=提交 then set conn=server.createobject(adodb.connection) conn.open asptest sql1=select * from permission where xm= request.form(name) and mima=request.form(password) set rs=conn.execute(sql1) if not rs.eof then session(register
9、)=true 若數(shù)據(jù)庫中存在該用戶的信息,就記錄該用戶勝利登錄的標(biāo)記到register變量中 rs.close conn.close response.redirect session(prescript) 勝利登錄后自動返回剛才要訪問的頁面 end if if session(lognumber)3 then session(lognumber)= session(lognumber)+1 response.redirect register.asp else response.redirect sorry.asp end if 允許嘗試登錄三次,若均未勝利,則禁止訪問并同時顯示頁面sorr
10、y.asp end if% htmlhead/head body bgcolor=#c0c0c0 p align=centerbigbig marquee align=middle behavior=alternate 歡迎您的光臨,請您先登錄!/marqueebr %if session(lognumber)0 then% 輸入有誤!請重新輸入姓名和密碼! % end if% /big/big/phr form action=register.asp method=post name=form1 div align=centerp姓名: input name=name size=13/p p
11、密碼:input name=password size=13type=password/p/div div align=rightinput type=submit name=b1 value=提交 /div/form/body/html Protect.asp文件 需限權(quán)訪問的頁面 % if session(register) true then session(prescript)= request.servervariables(script_name) response.redirect register.asp end if% 記錄該頁面的路徑到prescript變量中并強(qiáng)制客戶登錄 htmlhead meta http-equiv=Content-Type content=text/html; charset=gb_2312-80/head body bgcolor=#00FFFF 此處可輸入該頁面其它內(nèi)容的腳本 /body/html 以上幾種方法,設(shè)計者可以依據(jù)系統(tǒng)的需要進(jìn)行敏捷運(yùn)用 更多信息請查看IT技術(shù)專欄 .