The .NET Developer's Guide to Directory Services Programming
暫譯: .NET 開發者目錄服務程式設計指南
Joe Kaplan, Ryan Dunn
- 出版商: Addison Wesley
- 出版日期: 2006-05-01
- 售價: $2,550
- 貴賓價: 9.5 折 $2,423
- 語言: 英文
- 頁數: 512
- 裝訂: Paperback
- ISBN: 0321350170
- ISBN-13: 9780321350176
-
相關分類:
.NET
已絕版
買這商品的人也買了...
-
$1,250$1,225 -
$500$450 -
$880$704 -
$450$356 -
$780CMMI: Guidelines for Process Integration and Product Improvement (Harcover)
-
$980$960 -
$2,070$1,967 -
$1,730$1,644 -
$880$748 -
$2,560$2,432 -
$780$663 -
$600$510 -
$600$474 -
$650$507 -
$650$514 -
$980$774 -
$520$442 -
$680$537 -
$2,040$1,938 -
$720$569 -
$1,200$948 -
$580$493 -
$990$891 -
$580$452 -
$1,995Active Directory Cookbook, 4/e (Paperback)
相關主題
商品描述
Description
“If you have any interest in writing .NET programs using Active Directory or ADAM, this is the book you want to read.”
—Joe Richards, Microsoft MVP, directory servicesIdentity and Access Management are rapidly gaining importance as key areas of practice in the IT industry, and directory services provide the fundamental building blocks that enable them. For enterprise developers struggling to build directory-enabled .NET applications, The .NET Developer’s Guide to Directory Services Programming will come as a welcome aid.
Microsoft MVPs Joe Kaplan and Ryan Dunn have written a practical introduction to programming directory services, using both versions 1.1 and 2.0 of the .NET Framework. The extensive examples in the book are in C#; a companion Web site includes both C# and Visual Basic source code and examples.
Readers will
- Learn to create, rename, update, and delete objects in Active Directory and ADAM
- Learn to bind to and search directories effectively and efficiently
- Learn to read and write attributes of all types in the directory
- Learn to use directory services within ASP.NET applications
- Get concrete examples of common programming tasks such as managing Active Directory and ADAM users and groups, and performing authentication
Experienced .NET developers—those building enterprise applications or simply interested in learning about directory services—will find that The .NET Developer’s Guide to Directory Services Programming unravels the complexities and helps them to avoid the common pitfalls that developers face.
Table of Contents
Listings xvTables xixForeword xxiPreface xxiiiAcknowledgments xxixAbout the Authors xxxi
Part I: Fundamentals 1
Chapter 1: Introduction to LDAP and Active Directory 3
A Brief History of Directory Services 3
Definition of LDAP 4
Definition of Active Directory 5
Definition of ADAM 7
LDAP Basics 11
Chapter 2: Introduction to .NET Directory Services Programming 27
.NET Directory Services Programming Landscape 27
Native Directory Services Programming Landscape 29
System.DirectoryServices Overview 32
System.DirectoryServices.ActiveDirectory Overview 40
System.DirectoryServices.Protocols Overview 43
Selecting the Right Technology 49
Chapter 3: Binding and CRUD Operations with DirectoryEntry 53
Property and Method Overview 54
Binding to the Directory 62
Directory CRUD Operations 98
Chapter 4: Searching with the DirectorySearcher 109
LDAP Searching Overview 109
DirectorySearcher Overview 111
The Basics of Searching 115
Building LDAP Filters 118
Controlling the Content of Search Results 136
Executing the Query and Enumerating Results 139
Returning Many Results with Paged Searches 143
Sorting Search Results 146
Chapter 5: Advanced LDAP Searches 149
Administrative Limits Governing Active Directory and ADAM 150
Understanding Searching Timeouts 152
Optimizing Search Performance 154
Searching the Global Catalog 158
Chasing Referrals 161
Virtual List View Searches 162
Searching for Deleted Objects 169
Directory Synchronization Queries 171
Using Attribute Scope Query 178
Extended DN Queries 181
Reading Security Descriptors with Security Masks 183
Asynchronous Searches 185
Chapter 6: Reading and Writing LDAP Attributes 193
Basics of Reading Attribute Values 193
Collection Class Usage 195
Understanding the ADSI Property Cache 199
LDAP Data Types in .NET 200
ADSI Schema Mapping Mechanism 206
.NET Attribute Value Conversion 213
Standard Data Types 214
Binary Data Conversion 215
COM Interop Data Types 216
Syntactic versus Semantic Conversion 229
Dealing with Attributes with Many Values 230
Basics of Writing Attribute Values 234
Writing COM Interop Types 241
Chapter 7: Active Directory and ADAM Schema 247
Schema Extension Best Practices 247
Choosing an Object Class 251
Choosing Attribute Syntaxes 253
Modeling One-to-Many and Many-to-Many Relationships 256
Search Flags and Indexing 261
Techniques for Extending the Schema 264
Discovering Schema Information at Runtime 266
Chapter 8: Security in Directory Services Programming 273
Binding and Delegation 274
Directory Object Permissions in Active Directory and ADAM 300
Code Access Security 315
Chapter 9: Introduction to the ActiveDirectory Namespace 325
Working with the DirectoryContext Class 326
Locating Domain Controllers 332
Understanding the Active Directory RPC APIs 339
Useful Shortcuts for Developers 339
Part II: Practical Applications 345Chapter 10: User Management 347
Finding Users 347
Creating Users 351
Managing User Account Features 353
Managing Passwords for Active Directory Users 376
Managing Passwords for ADAM Users 386
Determining User Group Membership in Active Directory and ADAM 389
Chapter 11: Group Management 397
Creating Groups in Active Directory and ADAM 397
Manipulating Group Membership 400
Expanding Group Membership 403
Primary Group Membership 409
Foreign Security Principals 413
Chapter 12: Authentication 417
Authentication Using SDS 418
Authentication Using SDS.P 424
Authentication Using SSPI 428
Discovering the Cause of Authentication Failures 431
Part III: Appendixes 433Appendix A: Three Approaches to COM Interop with ADSI 435
The Standard Method 435
The Reflection Method 437
Handcrafted COM Interop Declarations 439
Appendix B: LDAP Tools for Programmers 443
LDP 443
ADSI Edit 445
Active Directory Users and Computers 445
LDIFDE 446
ADFind/ADMod 447
BeaverTail LDAP Browser 447
Softerra LDAP Browser 448
Appendix C: Troubleshooting and Help 449
Error 0x8007203A: “The server is not operational.” 449
Error 0x8007052E: “Login Failure: unknown user name or bad password.” 450
Error 0x80072020: “An operations error occurred.” 450
Error 0x80072030: “There is no such object on the server.” 451
Error 0x8007202F: “A constraint violation occurred.” 451
Error 0x80072035: “The server is unwilling to process the request.” 452
Error 0x80070005: “General access denied error.” 452
InvalidOperationException from DirectorySearcher 452
Getting Help 453
Index 455
商品描述(中文翻譯)
**描述**
“如果您對使用 Active Directory 或 ADAM 編寫 .NET 程式有興趣,這本書就是您想要閱讀的。”
—Joe Richards, Microsoft MVP, 目錄服務
身份與存取管理在 IT 業界迅速獲得重要性,成為關鍵的實踐領域,而目錄服務提供了使其能夠運作的基本構建塊。對於那些在構建目錄啟用的 .NET 應用程式方面掙扎的企業開發人員,《.NET 開發者的目錄服務程式設計指南》將成為一個受歡迎的幫助。
Microsoft MVP Joe Kaplan 和 Ryan Dunn 撰寫了一本實用的目錄服務程式設計入門書,使用 .NET Framework 的 1.1 和 2.0 版本。書中的大量範例使用 C#;配套的網站包括 C# 和 Visual Basic 的源代碼和範例。
讀者將會:
- 學習如何在 Active Directory 和 ADAM 中創建、重命名、更新和刪除對象
- 學習如何有效且高效地綁定和搜索目錄
- 學習如何讀取和寫入目錄中各類型的屬性
- 學習如何在 ASP.NET 應用程式中使用目錄服務
- 獲得管理 Active Directory 和 ADAM 用戶及群組、執行身份驗證等常見程式任務的具體範例
經驗豐富的 .NET 開發人員——無論是構建企業應用程式還是單純對目錄服務感興趣的開發人員——都會發現《.NET 開發者的目錄服務程式設計指南》解開了複雜性,幫助他們避免開發人員常見的陷阱。
**目錄**
**目錄 xv**
**表格 xix**
**前言 xxi**
**序言 xxiii**
**致謝 xxix**
**關於作者 xxxi**
**第一部分:基礎 1**
**第一章:LDAP 和 Active Directory 簡介 3**
目錄服務的簡史 3
LDAP 的定義 4
Active Directory 的定義 5
ADAM 的定義 7
LDAP 基礎 11
**第二章:.NET 目錄服務程式設計簡介 27**
.NET 目錄服務程式設計的全景 27
原生目錄服務程式設計的全景 29
System.DirectoryServices 概述 32
System.DirectoryServices.ActiveDirectory 概述 40
System.DirectoryServices.Protocols 概述 43
選擇正確的技術 49
**第三章:使用 DirectoryEntry 進行綁定和 CRUD 操作 53**
屬性和方法概述 54
綁定到目錄 62
目錄 CRUD 操作 98
**第四章:使用 DirectorySearcher 進行搜索 109**
LDAP 搜索概述 109
DirectorySearcher 概述 111
搜索的基本原則 115
構建 LDAP 過濾器 118
控制搜索結果的內容 136
執行查詢並列舉結果 139
使用分頁搜索返回多個結果 143
排序搜索結果 146
**第五章:高級 LDAP 搜索 149**
管理 Active Directory 和 ADAM 的限制 150
理解搜索超時 152
優化搜索性能 154
搜索全局目錄 158
追蹤引用 161
虛擬列表視圖搜索 162
搜索已刪除的對象 169
目錄同步查詢 171
使用屬性範圍查詢 178
擴展 DN 查詢 181
使用安全掩碼讀取安全描述符 183
異步搜索 185
**第六章:讀取和寫入 LDAP 屬性 193**
讀取屬性值的基本原則 193
集合類別的使用 195
理解 ADSI 屬性快取 199
. NET 中的 LDAP 數據類型 200
ADSI 架構映射機制 206
. NET 屬性值轉換 213
標準數據類型 214
二進制數據轉換 215
COM 互操作數據類型 216
語法轉換與語義轉換 229
處理具有多個值的屬性 230
寫入屬性值的基本原則 234
寫入 COM 互操作類型 241
**第七章:Active Directory 和 ADAM 架構 247**
架構擴展最佳實踐 247
選擇對象類別 251
選擇屬性語法 253
建模一對多和多對多關係 256
搜索標誌和索引 261
擴展架構的技術 264
在運行時發現架構信息 266
**第八章:目錄服務程式設計中的安全性 273**
綁定和委派 274
Active Directory 和 ADAM 中的目錄對象權限 300
代碼訪問安全性 315
**第九章:ActiveDirectory 命名空間簡介 325**
使用 DirectoryContext 類 326
定位域控制器 332
理解 Active Directory RPC API 339
開發人員的有用快捷方式 339
**第二部分:實用應用 345**
**第十章:用戶管理 347**
查找用戶 347
創建用戶 351
管理用戶帳戶功能 353
管理 Active Directory 用戶的密碼 376
管理 ADAM 用戶的密碼 386
確定 Active Directory 和 ADAM 中的用戶群組成員資格 389
**第十一章:群組管理 397**
在 Active Directory 和 ADAM 中創建群組 397
操作群組成員資格 400
擴展群組成員資格 403
主要群組成員資格 409
外部安全主體 413
**第十二章:身份驗證 417**
使用 SDS 進行身份驗證 418
使用 SDS.P 進行身份驗證 424
使用 SSPI 進行身份驗證 428
發現身份驗證失敗的原因 431
**第三部分:附錄 433**
**附錄 A:三種與 ADSI 進行 COM 互操作的方法 435**
標準方法 435
反射方法 437
手工製作的 COM 互操作聲明 439
**附錄 B:程序員的 LDAP 工具 443**
LDP 443
ADSI 編輯 445
Active Directory 用戶和計算機 445
LDIFDE 446
ADFind/ADMod 447
BeaverTail LDAP 瀏覽器 447
Softerra LDAP 瀏覽器 448
**附錄 C:故障排除和幫助 449**
錯誤 0x8007203A:“伺服器無法運行。” 449
錯誤 0x8007052E:“登錄失敗:未知用戶名或錯誤密碼。” 450
錯誤 0x80072020:“發生操作錯誤。” 450
錯誤 0x80072030:“伺服器上沒有此對象。” 451
錯誤 0x8007202F:“發生約束違規。” 451
錯誤 0x80072035:“伺服器不願意處理請求。” 452
錯誤 0x80070005:“一般訪問被拒絕錯誤。” 452
來自 DirectorySearcher 的 InvalidOperationException 452
獲取幫助 453
**索引 455**