System.Security.AccessControl
這很重要?蚣墁F在模擬 Windows 安全描述符,允許您以編程方式讀取并修改訪問控制列表 (ACL),取得對象的所有權,并在安全描述符描述語言 (SDDL) 字符串和二進制安全描述符之間進行轉換,等等。從 Alpha 預發布版本以來我就關注著該命名空間設計的發展,我必須要說明的是,在 Alpha 后深入其中的工作已經使其成為一種非常強大并且易于使用的附加功能。
在我打印出文件所有者時,您就已經看到這項新功能的簡單示例。注意我是如何通過 System.IO.File 類來訪問該文件的安全描述符的。您會發現,在框架中,安全對象已產生兩種新方法:GetAccessControl 和 SetAccessControl。諸如 AutoResetEvent、Mutex 和新 Semaphore 的類表示三個這樣的對象,與更明顯的 File 和 Directory 類表示的對象相同。
更改服務的自由訪問控制列表 (DACL) 沒有直接的方法。當前只是沒有服務對象的內置托管表示方法。但是在了解了訪問控制基礎結構的工作方法之后,我花了大約 15 分鐘就創建了我對服務安全性的支持。System.Security.AccessControl 命名空間是從頭開始設計的,并且始終考慮可擴展性。Kudos 這幫家伙!
對于以前曾經對 ACL 進行過編程的開發人員來說,您一定會欣賞有關代碼的簡單性(請參見圖 1)。有關 System.Security.AccessControl 命名空間的更多信息,請參閱 2004 年 11 月號的 MSDN®Magazine 中 Mark Pustilnik 的文章,可從 Manage Access to Windows Objects with ACLs and the .NET Framework 獲得。
返回頁首
System.Net.Security
我最喜歡的一個討論主題是身份驗證協議,但針對它們的編程一直都是很需要技巧的。將 Kerberos 添加到應用程序通常涉及調用安全支持提供程序接口 (SSPI) 中的一些低級函數,而添加安全套接字層 (SSL) 支持則更為困難。
令人欣慰的是,現在 SSPI 的托管包裝允許您使用 Kerberos 或 SSL 來實現客戶端和服務器端的安全通道。Kerberos 支持由 NegotiateStream 提供給您,它在 Kerberos 和稱為 NTLM 的質詢-響應的舊協議間進行技術協商?蛻舳宋帐挚梢允峭降,也可以是異步的。下面是客戶端同步安裝程序的示例:
文章來源于領測軟件測試網 http://www.kjueaiud.com/