文章編號: 306590 - 上次校閱: 2007年10月29日 - 版次: 3.8 INFO:ASP.NET 安全性概觀
本文參照下列 Microsoft .NET Framework 類別庫 (Class Library) 的命名空間:
在此頁中結論 本文件將簡介 ASP.NET 安全性。 如需其他 ASP.NET 概觀,請參閱下列「Microsoft 知識庫」中的文件: 305140?
(http://support.microsoft.com/kb/305140/
)
INFO:ASP.NET 藍圖 其他相關資訊 ASP.NET 可讓您更能夠控制如何為您的應用程式執行安全性。ASP.NET 安全性會配合 Microsoft
Internet Information Services (IIS) 安全性一起運作,而且其中包含了可用來實作 ASP.NET 安全性模型的驗證和授權服務。
ASP.NET 也包含了角色安全性功能,供您同時使用於 Microsoft Windows 和非 Windows 使用者帳戶。 本文分為下列兩節內容: 配合要求的安全性流程下面步驟會大略說明用戶端提出要求時的事件順序:
ASP.NET 資料流程 (英文) 如需有關在 ASP.NET
進行模擬的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:http://msdn2.microsoft.com/en-us/library/xa68twcb(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/xa68twcb(vs.71).aspx) 306158?
(http://support.microsoft.com/kb/306158/
)
如何在 ASP.NET 應用程式中實作模擬 相關設定值IIS 會在 IIS Metabase 中維護安全性相關設定值。然而,ASP.NET 會在「可延伸標記語言」(Extensible Markup Language,XML) 檔案中維護安全性 (和其他功能) 設定值。 雖然從安全性角度來看,這樣通常會簡化應用程式的部署工作,但是您的應用程式所採用的安全性模型,必須透過其設定檔案 (Web.config) 取得 IIS Metabase 和 ASP.NET 應用程式的正確設定。下列是和 ASP.NET 安全性相關的設定區段:
驗證您可以透過驗證處理序來取得例如使用者名稱和密碼等識別憑證,並根據某些授權來驗證這些憑證。ASP.NET 會提供四種驗證提供者: 表單驗證表單驗證系統會將還未驗證的使用者,重新導向到「超文字標記語言」(Hypertext Markup Language,HTML) 表單,供使用者在其中輸入憑證。使用者在提供憑證並傳送表單之後,應用程式就會驗證要求,接著系統會以 Cookie 方式發出授權票證。這個 Cookie 會包含可用來重新取得識別碼的憑證或是金鑰。此瀏覽器之後所發出的要求,都會自動包含這個 Cookie。如需有關表單驗證的詳細資訊,請參閱 .NET Framework SDK 文件中的下列主題: 表單驗證提供者 (英文) 如需有關在
ASP.NET 進行表單驗證的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:http://msdn2.microsoft.com/en-us/library/9wff0kyh(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/9wff0kyh(vs.71).aspx) 301240?
(http://support.microsoft.com/kb/301240/
)
如何在 ASP.NET 應用程架構中使用 C# .NET 實作表單型驗證 Windows 驗證進行 Windows 驗證時將由 IIS 執行驗證,而且驗證權杖會轉送到 ASP.NET 工作者處理序。使用 Windows 驗證的優點,在於只需要撰寫少量程式碼。您可以先使用 Windows 驗證來模擬 IIS 要驗證的 Windows 使用者帳戶,再將要求傳送到 ASP.NET。如需有關 Windows 驗證的詳細資訊,請參閱 .NET Framework SDK 文件中的下列主題: WindowsAuthenticationModule 提供者 (英文) http://msdn2.microsoft.com/en-us/library/907hb5w9(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/907hb5w9(vs.71).aspx) Passport 驗證Passport 驗證是一種由 Microsoft 提供的集中式驗證服務,可提供成員網站的單一登入和核心設定檔服務。 通常您會在需要使用跨多網域單一登入功能時,使用 Passport 驗證。如需有關 Passport 驗證的詳細資訊,請參閱 .NET Framework SDK 文件中的下列主題: Passport 驗證提供者 (英文) http://msdn2.microsoft.com/en-us/library/f8e50t0f(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/f8e50t0f(vs.71).aspx) 預設驗證當您不希望在 Web 應用程式中執行任何安全性時,就可以使用預設驗證;這種安全性提供者會要求匿名存取。 在所有驗證提供者中,預設驗證可以為應用程式提供最大效能。您也可以在使用自訂的安全性模組時,使用這種驗證提供者。授權授權處理序會確認經過驗證的使用者,是否可以存取所要求的資源。ASP.NET 會提供下列授權提供者: FileAuthorizationFileAuthorizationModule 類別會執行檔案授權,而且在使用 Windows 驗證時會是啟用狀態。FileAuthorizationModule 會執行檢查 Windows「存取控制清單」(Access Control List,ACL),以決定使用者是否可以取得存取權限。UrlAuthorizationUrlAuthorizationModule 類別會執行「統一資源定位器」(Uniform Resource Locator,URL) 授權,以便根據 URI 命名空間來控制授權。URI 命名空間和 NTFS 權限所使用的實體資料夾和檔案路徑,可能完全不同。UrlAuthorizationModule 會實作正面和負面的授權邏輯判斷;也就是說,您可以使用此模組選擇性地允許或拒絕使用者、角色 (例如,管理員、測試人員和系統管理員) 和指令動詞 (例如,GET 和 POST) 來存取 URI 命名空間的任一部分。 如需有關在 ASP.NET 進行授權的詳細資訊,請參閱 .NET Framework SDK 文件中的下列主題: ASP.NET 授權 (英文) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspnetauthorization.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspnetauthorization.asp) 角色安全性ASP.NET 中的角色安全性和 Microsoft COM+ 與 Microsoft Transaction Server (MTS) 使用的角色安全性很類似,不過其中還是有些重要差異。ASP.NET 中的角色安全性不限用於 Windows 帳戶和群組。例如,如果已經啟用 Windows 驗證和模擬功能,使用者的識別碼就會是 Windows 識別碼 (User.Identity.Name = "Domain\username")。您可以檢查特定角色的成員資格識別碼,以及依據結果來限制存取權限。例如:Visual Basic .NET 程式碼 Visual Basic .NET 程式碼 Visual Basic .NET 程式碼 306238?
(http://support.microsoft.com/kb/306238/
)
How To Implement Role-Based Security with Forms-Based Authentication in Your ASP.NET Application by Using Visual Basic .NET 如需有關角色安全性的詳細資訊,請參閱 .NET Framework SDK 文件中的下列主題:角色安全性 (英文) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconrole-basedsecurity.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconrole-basedsecurity.asp) ?考 如需有關 ASP.NET 安全性指南的詳細資訊,請參閱下列 MSDN 白皮書: 在 ASP.NET 中進行驗證:.NET 安全性指南 (英文) 如需有關 ASP.NET 的一般相關資訊,請造訪下列 MSDN 新聞群組:http://msdn2.microsoft.com/en-us/library/ms978378.aspx (http://msdn2.microsoft.com/en-us/library/ms978378.aspx) microsoft.public.dotnet.framework.aspnet
(http://go.microsoft.com/fwlink/?linkid=5811&clcid=0x409)
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:311094?
(http://support.microsoft.com/kb/311094/
)
FIX:"ConfigurationException" Error Message When Impersonated Accounts Read Configuration 306359?
(http://support.microsoft.com/kb/306359/
)
PRB:Request.ServerVariables("LOGON_USER") Returns Empty String in ASP.NET 313091?
(http://support.microsoft.com/kb/313091/
)
How to create keys by using Visual Basic .NET for use in Forms authentication 313116?
(http://support.microsoft.com/kb/313116/
)
PRB:Forms Authentication Requests Are Not Directed to loginUrl Page 如需詳細資訊,請參閱下列叢書:Reilly, Douglas J. Designing Microsoft ASP.NET Applications
(http://go.microsoft.com/fwlink/?LinkId=8362)
.Microsoft Press, 2001. Esposito, Dino.Building Web Solutions with ASP.NET and ADO.NET (http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?userid=2Z24O3LOY0&isbn=0735613486&itm=4) .Microsoft Press, 2001.
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
回此頁最上方
