教你使用ASP和IIS設置目錄安全
本文提供給大家分線學習的是關于作者的經(jīng)驗之談,教你使用ASP和IIS設置目錄安全,希望對大家能夠有所幫助。
設計出一種方案,為 Web 站點提供文件夾安全訪問。
這樣做是出于以下想法,即一個用戶可以進入該站點,并繼而自動進入默認的文件夾,這個文件夾里列的是另一個頁面的一些文件,它們之間已經(jīng)建立鏈接。
當用戶點擊某個文件名時,就可以打開相應的鏈接,看到那個文件的內(nèi)容。 ( 這類似于在 FTP 中,一個用戶的認證信息直接將他導入到一個特定的目錄下。不同之處在于這是將用戶從一個 Web 界面導入到一個文件中。 ) 我會一步一步向你展示我是怎樣設計出我的方案的。 ( 本文中的編碼已經(jīng)經(jīng)過測試并取得成功,可以在 Windows 2000 Server 的 Internet Information Services (IIS)5.0 中運行。 )
打基礎
該 Web 站點在裝有 Windows 2000 的機器上。由于在這樣的環(huán)境下, IIS 與 Windows 完全結(jié)合在一起,因此,我決定好好利用這種鑒別機制。當用戶進入最開始的頁面時, LOGON_USER 環(huán)境變量通常會得到該用戶的詳細信息。由于 Windows 對鑒別用戶和向用戶授權都格外謹慎,我們唯一需要費神的是決定當前登錄的用戶該從哪里獲取文件信息。由于這個方案中不存在數(shù)據(jù)庫的交互作用,因此我的這個程序采用的是 XML 文件,這些文件可以長久保持用戶信息。 XML 數(shù)據(jù)會被長久保持在應用程序變量中,如果這個應用程序 XML 數(shù)據(jù)發(fā)生了任何改變,也都會被長久地保持在該 XML 文件中。當然,這個例子中,唯一長久保持的是當前登錄的用戶的鑒定信息。這也就是當前用戶的 SessionID 。
為了讓這些文件夾更靈活,我想允許用戶以個人用戶或群體用戶的身份都可以訪問它。這就要求這些文件夾向個人用戶和群體用戶提供訪問路徑,而且這些信息要儲存在 XML 文件中。這樣一來,我們需要三個 XML 文件:一個為個人用戶準備的,一個為群體用戶,另一個為文件夾準備。
用戶的 XML 文件包含用戶的一些信息。例如,每個登錄的用戶都有一個用戶名。當某個用戶訪問該 Web 站點時,就創(chuàng)建了一個會話,會話標志符可以識別這個會話。由于每一個會話對應一個用戶,那么鑒別用戶的用戶節(jié)點就包括一個 sessionId 屬性,用來保存當前的會話標志符。
SessionId 屬性可以用來在訪問信息中查找用戶的 ID 。這時,你同樣需要為用戶準備一個默認的文件夾。
<?xml version='1.0'?>
群體用戶的 XML 文件包含集體信息及各個群體中的用戶的信息。 每一個群體的節(jié)點都包括一組用戶,這些用戶都通過它們的 ID 來鑒別。
<?xml version='1.0'?>
<groups>
<group id="1" username="administrators">
<users>
<user id="1"/>
</users>
</group>
</groups>