在網站中實現安全性有以下幾個方面:
- 認證:這是確保用戶身份和真實性的過程。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緩存