Asp.net入門基礎二---配置檔案、身份驗證
阿新 • • 發佈:2019-02-04
web.config是寫在xml檔案中的用於記錄asp.netweb應用程式的配置資訊,它與身份驗證是web B/S的基礎內容,本文通過對北大青鳥視訊的觀看,討論一下對兩者的基本認識。
【config】
web應用程式的配置檔案分為兩類:Machine.config和Web.config,前者包含一個機器上所有應用程式的配置資訊,只能有一個;後者記錄單個應用程式的配置資訊,可以定義多個。上面程式碼buffer部分是設定緩衝客戶端響應,當為true時,客戶端訪問伺服器端,當傳遞迴所有資料時,一起在頁面顯示;當為false時,請求資料從伺服器端以16k為一單元返回到客戶端。 常見的用處還有:<configuration> <configSections> <!--宣告區--> </configSections> <!--執行區 --> <system.web> <!--允許除錯--> <compilation debug="true" targetFramework="4.0" /> <!--buffer 緩衝客戶端響應 enableViewState設定檢視狀態--> <pages buffer ="true" enableViewState ="false"> </pages> </system.web> </configuration>
自定義配置,通過呼叫key值使用value內容實現配置內容:<system.web> <!--發生錯誤頁面時跳轉到友好介面 mode為頁面檔案指示,on開啟,off關閉,remoteonly只展示給長途計算機 --> <customErrors defaultRedirect ="default.aspx" mode ="RemoteOnly"> <error statusCode ="404" redirect ="error.aspx"/> </customErrors> </system.web>
<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);
//寫入,轉入上一個請求頁