通常,我們?cè)谠O(shè)計(jì)過(guò)程中會(huì)面臨三種情況:某一頁(yè)面只讓某一用戶(hù)瀏覽、某一頁(yè)面只讓某些用戶(hù)瀏覽和某些頁(yè)面只讓某些用戶(hù)瀏覽。第一種情況很簡(jiǎn)單,筆者不再敘述,下文將詳細(xì)介紹后兩種情況的設(shè)計(jì)方法。
一、某一頁(yè)面只讓某些用戶(hù)瀏覽
將這些客戶(hù)的信息保存在數(shù)據(jù)庫(kù)中,若能在數(shù)據(jù)庫(kù)中檢索到客戶(hù)輸入的姓名和密碼就允許訪問(wèn)該頁(yè)面。
Protect.asp文件:需限權(quán)訪問(wèn)的頁(yè)面
此處可輸入該頁(yè)面的其它內(nèi)容
請(qǐng)輸入姓名:
請(qǐng)輸入密碼:
<%setconn=server.createobject("adodb.connection")
conn.open"asptest" ′asptest是存放客戶(hù)信息的表單permission所在的數(shù)據(jù)庫(kù)的名字
sql1="select frompermissionwherexm='"&request.form("text")
&&"'andmima='"&request.form("password")&&"'"
setrs=conn.execute(sql1)%>
如果數(shù)據(jù)庫(kù)中存在客戶(hù)輸入的姓名和密碼,就顯示頁(yè)面product.asp的超級(jí)鏈接 <%ifnotrs.eofthen%>
本公司的產(chǎn)品
<%endif%>
2.用session實(shí)現(xiàn)
session是用戶(hù)級(jí)的全局變量,我們將客戶(hù)成功登錄的信息記錄到session中后,用戶(hù)就可直接瀏覽其它限權(quán)訪問(wèn)的頁(yè)面了。
global.asp
<script language=vbscript runat=server>
sub Session_onstart
session("register")="false"
′記錄客戶(hù)成功登錄的信息
session("lognumber")=0
′記錄客戶(hù)嘗試登錄的次數(shù),最多允許嘗試三次
session("prescript")=""
′記錄客戶(hù)要訪問(wèn)的頁(yè)面,以便登錄后返回該頁(yè)
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")="true"
′若數(shù)據(jù)庫(kù)中存在該用戶(hù)的信息,就記錄該用戶(hù)成功登錄的標(biāo)記到register變量中
rs.close
conn.close
response.redirect session("prescript")
′成功登錄后自動(dòng)返回剛才要訪問(wèn)的頁(yè)面
end if
if session("lognumber")<3 then
session("lognumber")=
session("lognumber")+1
response.redirect "register.asp"
else
response.redirect "sorry.asp"
end if
′允許嘗試登錄三次,若均未成功,則禁止訪問(wèn)并同時(shí)顯示頁(yè)面sorry.asp
end if%>
<%if session("lognumber")>0 then%>
輸入有誤!請(qǐng)重新輸入姓名和密碼!
<% end if%>
Protect.asp文件 ′需限權(quán)訪問(wèn)的頁(yè)面
<% if session("register")< >"true" then
session("prescript")=
request.servervariables("script_name")
response.redirect "register.asp"
end if%>
′記錄該頁(yè)面的路徑到prescript變量中并強(qiáng)制客戶(hù)登錄
content="text/html; charset=gb_2312-80">
′此處可輸入該頁(yè)面其它內(nèi)容的腳本
以上幾種方法,設(shè)計(jì)者可以根據(jù)系統(tǒng)的需要進(jìn)行靈活運(yùn)用。