程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET安全問題--ASP.NET安全架構

ASP.NET安全問題--ASP.NET安全架構

編輯:關於ASP.NET

在開發Web程序中,我們可以選擇用自己的方法來實現安全的策略,或者可以購買第三方的安全代碼和產品,不管怎麼樣,都是要很大的花費的,幸好在.NET Framework中已經內置了安全的解決方案。

ASP.NET和 .NET Framework 聯合IIS為Web應用程序安全提供了一個基礎結構。它的一個很明顯的優勢在於我們不必再編寫自己的安全架構,我們可以利用.NET安全架構的內置的特性,而且整個安全的架構是經過測試和時間的考驗了的。

.NET安全架構包含了很多的類,這些類用來處理身份驗證,授權,基於角色的授權,假冒(Impersonation),代碼訪問安全,還包含了一個用於構建自定義解決方案的基本架構。

本篇我們主要談論下面的一些話題:

ASP.NET安全架構的主要功能

身份驗證和授權

安全上下文中的標識和主體

身份驗證模塊的運行

授權模塊的運行

下面就開始:

一 ASP.NET實現安全的過程

ASP.NET 安全架構分為幾個關鍵的安全過程:身份驗證,授權,假冒,加密提供提供了必需的功能。具體看看一些解釋:

身份驗證--指明是誰再訪問我們的站點

授權----誰可以對哪些資源操作和訪問?訪問站點的用戶是否被授權使用他所請求的資源?

假冒----准備假冒什麼角色?(注:假冒不是貶義詞,不是我們常說的假冒商品的假冒,因為不同的用戶角色有不同的權限,如果 我們當前的用戶無法訪問某一特定的資源,我們就可以讓想訪問特定資源的用戶假冒,更確切的說是模仿有權限訪問特定資源的用戶,簡言之:用戶A想訪問C資源,但是沒有權限,但是用戶B可以訪問,所以A和B商量,A就用B的身份訪問。具體的以後講解)

下面我們具體看看每個安全的過程:

1.身份驗證

身份驗證是揭示用戶標識(注:標識的概念我們後面馬上就講的,簡言之,用戶的ID 和 名稱)並判斷標識真實性的過程。很好理解,舉個例子(大家注意例子中的一些術語):我們要取參加一個會議,我們就會取登記提供我們的一些證件即標識(表明我們的身份),一旦標識被確認,我們就會得到會議通行證,我們就可以帶著通行證參加會議。而且會議中的每個人都可以通過我們的通行證了解我們的一些信息,如我們的名字,公司。身份驗證就是:一旦標識被確定,我們就會得到一個可以識別我們的令牌,所以,再一個特定的區域內,不管我們在哪裡,我們的標識都可以被識別。

在ASP.NET中,有4中身份驗證的模式:

Widows身份驗證(Windows Authentication)

Forms身份驗證(Form Authentication)

Passpot身份驗證(Passport Authentication)

自定義身份驗證

對於每一種身份驗證,用戶都需要在登錄的時候提供憑證,一旦標識被核實,用戶就會獲得一個身份驗證令牌,在Forms驗證中,整個令牌就是FormsAuthenticationTicket,整個令牌就放在 cookie中,每次請求資源的時候,令牌就會提供用戶的標識信息。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved