ASP.NET安全

在網站中實現安全性有以下幾個方面:

  • 認證:這是確保用戶身份和真實性的過程。ASP.NET允許四種類型的認證:
    • Windows身份驗證
    • 表單認證
    • 通行證認證
    • 自定義驗證
  • 授權:是為特定用戶定義和分配特定角色的過程。
  • 保密性:它涉及加密客戶端流覽器和網路伺服器之間的通道。
  • 完整性:涉及維護數據的完整性。例如,實施數字簽名。

基於表單的身份驗證

傳統上,基於表單的身份驗證涉及編輯web.config檔並添加具有適當的驗證代碼的登錄頁面。

可以編輯web.config檔並在其上編寫以下代碼:

<configuration>

<system.web>
   <authentication mode="Forms">
      <forms loginUrl ="login.aspx"/>
   </authentication>

   <authorization>
      <deny users="?"/>
   </authorization>
</system.web>
...
...
</configuration>

在上面的代碼片段中提到的login.aspx頁面具有以下代碼檔,其中用戶名(username)和密碼(password)是硬編碼的身份驗證。



注意FormsAuthentication類負責認證過程。

Visual Studio允許通過Web站點管理工具無縫地輕鬆實現用戶創建,身份驗證和授權,而無需編寫任何代碼。這個工具允許創建用戶和角色。

除此之外,ASP.NET還提供了現成的登錄控件集,它具有控制執行所有工作的控件。

實現基於表單的安全性

要設置基於表單的身份驗證,需要以下內容:

  • 支持認證過程的用戶數據庫
  • 使用資料庫的網站
  • 用戶帳戶
  • 角色
  • 限制用戶和小組活動
  • 默認頁面,顯示用戶的登錄狀態等資訊。
  • 登錄頁面,允許用戶登錄,檢索密碼或更改密碼

IIS身份驗證:SSL

安全套接字層或SSL是用於確保安全連接的協議。 啟用SSL後,流覽器會加密發送到伺服器的所有數據,並解密來自伺服器的所有數據。同時,伺服器加密和解密來自流覽器的所有數據。

安全連接的URL從HTTPS而不是HTTP開始。流覽器使用安全連接顯示小鎖圖示。 當流覽器使用SSL通過安全連接初次嘗試與伺服器通信時,伺服器通過發送其數字證書來驗證自身。

要使用SSL,您需要從受信任的認證中心(CA)購買數字安全證書,並將其安裝在Web伺服器中。 以下是一些值得信賴和知名的認證機構:

  • www.verisign.com
  • www.geotrust.com
  • www.thawte.com

SSL內置於所有主流流覽器和服務器中。要啟用SSL,需要安裝數字證書。 各種數字證書的強度取決於加密期間生成的密鑰的長度。 更多的長度,更安全的是證書,因此連接。

編號 強度 描述
1 40位 大多數流覽器支持,但很容易中斷。
2 56位 強於40位
3 128位 非常難破解,但所有的流覽器不支持它。

上一篇: ASP.NET LINQ 下一篇: ASP.NET緩存