ASP訪問權(quán)限設(shè)置技術(shù)
來源:易賢網(wǎng) 閱讀:1747 次 日期:2014-11-01 14:50:10
溫馨提示:易賢網(wǎng)小編為您整理了“ASP訪問權(quán)限設(shè)置技術(shù)”,方便廣大網(wǎng)友查閱!

在設(shè)計(jì)網(wǎng)頁時(shí),經(jīng)常遇到某些頁面需限權(quán)訪問的情況。比如,一個(gè)公司的某些產(chǎn)品只讓某一或某些供應(yīng)商或客戶瀏覽。那么,我們?nèi)绾螌?shí)現(xiàn)這一功能呢?本文,筆者將向讀者介紹幾種限制客戶訪問權(quán)限的方法。

通常,我們?cè)谠O(shè)計(jì)過程中會(huì)面臨三種情況:某一頁面只讓某一用戶瀏覽、某一頁面只讓某些用戶瀏覽和某些頁面只讓某些用戶瀏覽。第一種情況很簡單,筆者不再敘述,下文將詳細(xì)介紹后兩種情況的設(shè)計(jì)方法。

一、某一頁面只讓某些用戶瀏覽

將這些客戶的信息保存在數(shù)據(jù)庫中,若能在數(shù)據(jù)庫中檢索到客戶輸入的姓名和密碼就允許訪問該頁面。

Protect.asp文件 ′需限權(quán)訪問的頁面

〈html〉〈head〉〈title〉賽迪主頁〈/title〉〈/head〉〈body bgcolor="#00FFFF"〉

′此處可輸入該頁面的其它內(nèi)容

〈form action="Protect.asp" method="post"〉

請(qǐng)輸入姓名:

〈input type="text" name="text"〉

請(qǐng)輸入密碼:〈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所在的數(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的超級(jí)鏈接

〈% if not rs.eof then%〉〈a href="product.asp"〉本公司的產(chǎn)品〈/a〉

〈%end if%〉〈/body〉〈/html〉

二、某些頁面只讓某些用戶瀏覽

我們可以設(shè)計(jì)一登錄頁面register.asp,如果客戶沒有登錄,在進(jìn)入每個(gè)需限權(quán)訪問的頁面時(shí)強(qiáng)制客戶先訪問頁面register.asp實(shí)現(xiàn)登錄。成功登錄之后自動(dòng)返回到剛才要訪問的頁面。我們可用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") &&"' 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%〉

〈html〉〈head〉〈/head〉

〈body bgcolor="#c0c0c0" 〉

〈p align="center"〉〈big〉〈big〉〈big〉親愛的客戶,請(qǐng)您登錄!

〈/big〉〈/big〉〈/big〉〈/p〉〈hr〉

〈form action="register.asp" method="post" name="form1"〉

〈div align="center"〉〈p〉姓名:

〈input name="name" size="13"〉〈/p〉

〈p〉密碼:〈input name="password"

size="13"type="password"〉〈/p〉〈/div〉

〈div align="right"〉〈input 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)制客戶登錄

〈html〉〈head〉〈/head〉

〈body bgcolor="#00FFFF"〉

′此處是需保護(hù)的頁面內(nèi)容

〈/body〉〈/html〉

2.用session實(shí)現(xiàn)

session是用戶級(jí)的全局變量, 我們將客戶成功登錄的信息記錄到session中后,用戶就可直接瀏覽其它限權(quán)訪問的頁面了。

global.asp

〈script language=vbscript runat=server〉

sub Session_onstart

session("register")="false"

′記錄客戶成功登錄的信息

session("lognumber")=0

′記錄客戶嘗試登錄的次數(shù),最多允許嘗試三次

session("prescript")=""

′記錄客戶要訪問的頁面,以便登錄后返回該頁

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ù)庫中存在該用戶的信息,就記錄該用戶成功登錄的標(biāo)記到register變量中

rs.close

conn.close

response.redirect session("prescript")

′成功登錄后自動(dòng)返回剛才要訪問的頁面

end if

if session("lognumber")〈3 then

session("lognumber")=

session("lognumber")+1

response.redirect "register.asp"

else

response.redirect "sorry.asp"

end if

′允許嘗試登錄三次,若均未成功,則禁止訪問并同時(shí)顯示頁面sorry.asp

end if%〉

〈html〉〈head〉〈/head〉

〈body bgcolor="#c0c0c0" 〉

〈p align="center"〉〈big〉〈big〉

〈marquee align="middle"

behavior="alternate" 〉歡迎您的光臨,請(qǐng)您先登錄!〈/marquee〉〈br〉

〈%if session("lognumber")〉0 then%〉

輸入有誤!請(qǐng)重新輸入姓名和密碼!

〈% end if%〉

〈/big〉〈/big〉〈/p〉〈hr〉

〈form action="register.asp" method="post" name="form1"〉

〈div align="center"〉〈p〉姓名:

〈input name="name" size="13"〉〈/p〉

〈p〉密碼:〈input name="password"

size="13"type="password"〉〈/p〉〈/div〉

〈div align="right"〉〈input 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)制客戶登錄

〈html〉〈head〉

〈meta http-equiv="Content-Type"

content="text/html; charset=gb_2312-80"〉〈/head〉

〈body bgcolor="#00FFFF"〉

′此處可輸入該頁面其它內(nèi)容的腳本

〈/body〉〈/html〉

以上幾種方法,設(shè)計(jì)者可以根據(jù)系統(tǒng)的需要進(jìn)行靈活運(yùn)用

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
下一篇:ASP通用模板類
易賢網(wǎng)手機(jī)網(wǎng)站地址:ASP訪問權(quán)限設(shè)置技術(shù)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)