共用方式為


System.DirectoryServices 的程式碼存取安全性

程式碼存取安全性是限制程式碼存取權以保護資源和作業的一項機制。程式碼存取安全性依程式碼的來源和程式碼本身的其他部分,分別給與程式碼不同程度的信任等級。如需詳細資訊,請參閱 Code Access Security

呼叫者安全性要求

System.DirectoryServices.dll 與 System.DirectoryServices.Protocols.dll 程式庫包含 System.DirectoryServicesSystem.DirectoryServices.ActiveDirectorySystem.DirectoryServices.Protocols 命名空間的實作。它們是安全的程式庫,要求呼叫者擁有不受限制的 DirectoryServicesPermission 以存取程式庫所公開的類別、方法及屬性。

未取得執行階段程式碼存取安全性系統完全信任的應用程式,將無法呼叫共用 Managed 程式庫,除非該程式庫標記為AllowPartiallyTrustedCallersAttribute。依預設值,所有從近端內部網路或網際網路區域執行的程式碼,都是部分信任的程式碼。在 .NET Framework 2.0 中,System.DirectoryServices.dll 與 System.DirectoryServices.Protocols.dll 套用了 AllowPartiallyTrustedCallersAttribute,讓程式碼可從部分信任的內容執行或由部分信任的程式碼呼叫。因此,只要呼叫者被授與不受限制的 DirectoryServicesPermission,即使該呼叫者不是完全信任的組件,也可存取 System.DirectoryServices.dll 與 System.DirectoryServices.Protocols.dll。

要求的權限

連結要求會在 Just-In-Time 編譯期間 (而非執行階段) 產生安全性檢查,並只檢查程式碼的即時呼叫者。因為連結要求是標準要求,所以未執行連結要求的完整堆疊查核行程。連結要求一般較標準要求快速,但使用連結要求的程式碼仍易受到引誘攻擊的影響。標示為連結要求的任何方法或類別的呼叫者,都需要執行應用程式設計師視為必要的所有安全性檢查。如需更深入比較 DemandsLink Demands 的詳細資訊,請參閱Demand vs. LinkDemand

System.DirectoryServicesSystem.DirectoryServices.ActiveDirectory 以及 System.DirectoryServices.Protocols 命名空間的所有進入點都會對不受限制的 DirectoryServicesPermission (例如 DirectoryEntryDirectorySearcherDirectoryContextLdapConnectionDsmlSoapHttpConnection 的建構函式) 執行要求。它們會對其他必要的權限執行連結要求。如需有關這三個命名空間的類別與方法所做的要求種類的詳細資訊,請參閱 System.DirectoryServicesSystem.DirectoryServices.ActiveDirectory 以及 System.DirectoryServices.Protocols 命名空間參考章節。

授與不受限制的 DirectoryServicesPermission

依照預設,完全信任的組件將被授與不受限制的 DirectoryServicesPermission。使用類似Code Access Security Policy Tool (Caspol.exe) Caspol.exe 的工具,也可將這個權限授與其他組件。

請參閱

參考

System.DirectoryServices
System.DirectoryServices.ActiveDirectory
System.DirectoryServices.Protocols
DirectoryServicesPermission

概念

System.DirectoryServices 使用者入門

其他資源

Code Access Security
Secure Coding Guidelines
Security Demands

Send comments about this topic to Microsoft.

Copyright © 2007 by Microsoft Corporation.All rights reserved.