ASP. NET安全問題--Froms驗證的具體介紹(中篇)

來源:互聯網
上載者:User
關鍵字 我們 身份驗證 nbsp; 具體

啟用Forms身份驗證

相信大家對很清楚如何啟用 Forms驗證,但是這裡我還是囉嗦一下。 我們只要在 web.config檔中配置如下就行了:

<authentication mode="Forms"/>


這樣之後,ASP. NET運行時就知道我們啟用了Forms驗證,在生命週期的驗證階段就啟動FormsAuthenticationModule模組。 還有一點要特別注意:<authentication/>元素節點只能在應用程式的根資料夾中的 web.config中配置。 如果在子資料夾中使用這個節點就會報錯。 這也說明了每個應用程式只能定義一個身份驗證類型。

而且在<authentication/>節點中,我們還可以進行更多的設置。 如下:

&lt;authentication mode="Forms "&gt;


&lt;forms name="MyCookie"


loginUrl="Login.aspx"


timeout="60"


path="/"


protection="All"&gt;


&lt;/forms&gt;


&lt;/authentication&gt;

我們下面就看看<forms>節點中的屬性的含義和用途:

name:定義身份驗證cookie的名稱。 因為我們把身份驗證的票據是存放在cookie中的,而且我們必須給身份驗證cookie取具有唯一性的名稱,防止和其他的應用程式中的cookie衝突。

loginUrl:從英文名字就可以知道是關於登錄的。 實際上就是標明把使用者重定向到哪個頁面取登錄。

timeout:設置身份驗證cookie持續的時間,以分鐘為單位的。 而且這個時間是一個相對的時間,就是說每次對使用者進行驗證時,cookie的期限就會被重新設置。 如果在60分鐘內使用者再沒有向伺服器發起請求,那麼cookie就過期,之後如果使用者再次發起請求,那麼就要重新輸入使用者名和密碼等資訊。

path:設置cookie的保存的路徑,一般是設置為"/",我們不要輕易的改變。

我們之前也說過,我們的身份驗證的票據是加密以後再存放如cookie中的,然後再把cookie發送到用戶端。 當用戶端再次請求的時候,再伺服器端就會解析用戶端發送來的cookie資訊,我們必須要確認:用戶端發送來的cookie資訊就是我們之前從伺服器端發送過去的,也就是說,我們要判斷,我們的 cookie在用戶端是否被篡改了。

所以,這就是<forms/>中屬性protection的用途。 protection的值有四個:

Encryption:對cookie的內容資訊進行加密。
Validation:向cookie中的內容添加MAC(訊息驗證碼),以便伺服器判斷cookie是否被篡改了。
None:禁用加密和篡改檢查
All:同時啟用加密和篡改檢查。
預設情況下是"All",因為它可以把資料加密放入cookie中,而且對返回到伺服器端的cookie進行驗證。

繼續&gt;&gt;下一頁 [第1頁][第2頁][第3頁]
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.