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服務器中。 以下是一些值得信賴和知名的認證機構:

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

編號

強度

描述

1

40位

大多數瀏覽器支持,但很容易中斷。

2

56位

強於40位

3

128位

非常難破解,但所有的瀏覽器不支持它。

易百教程移動端:請掃描本頁面底部(右側)二維碼並關注微信公衆號,回覆:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com

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

加QQ羣啦,易百教程官方技術學習羣

QQ羣名稱

羣號

人數

免費

等級

羣介紹

JAVA技術

227270512

2000

LV5

Java基礎,JSP(Servlet),JAVA框架,Java高併發架構,Maven等等

MySQL/SQL

418407075

2000

LV5

SQL基礎,MySQL基礎,MySQL存儲過程,視圖,觸發器等等

大數據開發

655154550

2000

LV5

Spark,zookeeper,kafka,CDH,hive,fulme,hbase等Hadoop雲計算生態圈技術

Python技術

287904175

2000

LV5

Python編程,Python Web,Python大數據,Python爬蟲,自然語言處理等

Linux技術

479429477

2000

LV1

Redhat/Centos,Ubuntu,Shell,運維,監控等技術

PHP/Web開發者

460153241

1000

LV0

PHP基礎,PHP高級,網站優化/架構,JS,HTML,JQuery,前端等Web開發技術

人工智能

456236082

1000

LV0

人工智能,深度學習,算法等技術

Oracle數據庫

175248146

1000

LV0

SQL基礎,Oracle基礎,Oracle存儲過程,視圖,觸發器等等

Android開發

159629185

1000

LV0

Android開發,Android Studio,Kotlin,Dagger等技術

微軟技術

579821706

1000

LV0

C#,ASP.Net,VB.Net,ADO.Net,SQL Server,VBA,Excel等技術

測試工程師

415553199

1000

LV0

軟件測試,硬件測試,測試平臺開發,黑白盒測試,Labview,C/C++, Java/.net; 軟件開發,遊戲開發等技術