1. 程式人生 > >Asp.net入門基礎二---配置檔案、身份驗證

Asp.net入門基礎二---配置檔案、身份驗證

       web.config是寫在xml檔案中的用於記錄asp.netweb應用程式的配置資訊,它與身份驗證是web B/S的基礎內容,本文通過對北大青鳥視訊的觀看,討論一下對兩者的基本認識。

【config】

        web應用程式的配置檔案分為兩類:Machine.config和Web.config,前者包含一個機器上所有應用程式的配置資訊,只能有一個;後者記錄單個應用程式的配置資訊,可以定義多個。
<configuration>
  <configSections>
   <!--宣告區--> 
  </configSections>
  
  <!--執行區 -->
    
    <system.web>
      <!--允許除錯-->
      <compilation debug="true" targetFramework="4.0" />
      <!--buffer 緩衝客戶端響應  enableViewState設定檢視狀態-->
      <pages buffer ="true" enableViewState ="false">
        
      </pages>
    </system.web>

</configuration>
               上面程式碼buffer部分是設定緩衝客戶端響應,當為true時,客戶端訪問伺服器端,當傳遞迴所有資料時,一起在頁面顯示;當為false時,請求資料從伺服器端以16k為一單元返回到客戶端。       常見的用處還有:
<system.web>
       <!--發生錯誤頁面時跳轉到友好介面 mode為頁面檔案指示,on開啟,off關閉,remoteonly只展示給長途計算機 -->
      <customErrors defaultRedirect ="default.aspx" mode ="RemoteOnly">
        <error statusCode ="404" redirect ="error.aspx"/>
      </customErrors>
    </system.web>
     自定義配置,通過呼叫key值使用value內容實現配置內容:
<appSettings>
  <add key ="con" value ="database=.;……"/>
</appSettings>

【身份驗證】

       由於session方法提供的使用者登入效率不高,Asp.net提供了專門的身份驗證機制:windows身份驗證、form應用窗體身份驗證、passport身份驗證。        其中form應用窗體身份驗證最為常用,可以減少客戶端登入次數,減少驗證次數:
      <authentication name="authWeb" loginUrl="login.aspx" protection="all" timout="20"></authentication>
        <!--name:身份驗證的Cookies名稱 loginUrl:登入頁URL,沒有cookie驗證則跳轉到login.aspx protectiong="All"同時使用資料驗證和加密來保護cookie timeout:一段時間後cookie到期 -->
      <authorization>
        <allow user="*"/><!--允許通過的使用者-->
        <deny users="?"/>
      </authorization>

      程式端核心程式碼:
		System.web.Security.FormsAuthntication.SetAuthCookie(this.TextBox1.text,false);
		//制定使用者名稱寫到cookies中,建立永久cookies
		
		System.FormsAuthentication.RedirectLoginPage(this.TextBox1.Text,false);
		//寫入,轉入上一個請求頁

【總結】

        配置檔案是記錄應用程式的配置過程,對程式的整體結構有概括性的意義,網頁程式設計有很多提高系統性能的方式,身份驗證以及快取的應用,通過控制從伺服器端和客戶端資料交換次數和大小,從而控制網頁的載入速度,從而提高系統性能。但另一方面我們還必須考慮系統安全的問題,期待接下來的學習能夠更加深刻的對這些基礎內容進行了解。