程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET配置文件縱橫談(二)

ASP.NET配置文件縱橫談(二)

編輯:關於ASP.NET

下面我們就來看看<location/>節點。我們常常在配置文件設置這個節點來對URL訪問進行授權 。我們可以在一個ASP.NET網站(如:c:\inetpub\wwwroot\Demo\web.config的web.config中添加下面的 配置:

 <location path="Some Path ">
  <system.web>
   <authorization>
    <allow roles="Secured, Administrators" />
    deny users="*" />
   </authorization>
  </system.web>
 </location>

<location/>元素被解釋為一個新的虛擬的配置文件,也就是說我們其實也可以把 <location/>元素中的配置拿出來,放在一個單獨的web.config中,就像我們在網站的一個文件夾 中加入一個web.config一樣。所以在<location/>元素中要申明<system.web>,而且不能直接 就把<authorization />元素放在<location/>下。

在網站中,經常要對很多的頁面進行授權訪問,所以我們也常常可以把那些頁面放在一個文件夾中, 然後在文件夾中放一個web.config。相較於前者,在網站根目錄中用<location/>元素來進行URL授 權更加的好些,因為可以在一個文件中對所有的文件進行授權和對授權進行修改。而且如果進行URL授權 的文件夾很多,那麼我看可能在修改的時候遺漏某處,而導致運行失敗。

在<location/>中,有一個屬性就是path,用來設置進行URL授權的文件,或者文件夾。而且我們 還path屬性的配置也很靈活的,可以設置path的值來對某個文件設置url授權訪問,如 path="default.aspx",還可以對文件夾進行授權訪問,如"subfolder"(注:subfolder是網站中的某個文 件夾),還可以將之前的兩者結合,如"subfolder/default.aspx","subfolderA/subfolderB".如果我們在 IIS虛擬目錄下放置一個web.config,我們還可以設置對某個網站的授權訪問,如"Default WebDite"。 所以在<location/>中用path元素可以對要授權的文件,文件夾進行集中的控制。

下面來看看allowoverride屬性

很多的節點元素都有這個屬性,這個屬性可以防止下一級的配置文件中上一級的配置文件的某個元素 進行重寫(關於配置文件的層級關系見第一篇,從上到下基本是:machine.config--web.config)。對於 <location/>,如果在machine.config中配置下面的:

 <location allowOverride="false">
  <system.web>
   <trust level="Medium" />
  </system.web>
 </location>

那麼如果你在你的網站的web.config中再去重新定義<location/>就會報錯。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved