Buy .NET Developer's Guide to Directory Services Programming, The
close menu
Bookswagon
search
My Account
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology Books > Computer programming / software engineering > .NET Developer's Guide to Directory Services Programming, The
.NET Developer's Guide to Directory Services Programming, The

.NET Developer's Guide to Directory Services Programming, The


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

“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 services

Identity 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 xv Tables xix Foreword xxi Preface xxiii Acknowledgments xxix About 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 345 Chapter 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 433 Appendix 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

About the Author :

Joe Kaplan works in Accenture’s internal IT organization, building enterprise applications using the .NET Framework. He specializes in directory services programming, for which he has been recognized as a Microsoft MVP. An industry veteran of more than thirteen years, he also thrives on working with the development community and solving real-world problems.

Ryan Dunn of Avanade is a .NET developer and architect with experience in a wide range of industries and technologies. He has consulted on a number of projects to integrate clients’ applications with Active Directory and ADAM. Ryan is a Microsoft MVP for ASP.NET, though he currently focuses primarily on directory services. Ryan can be reached on the Web in the ASP.NET forums or through his blog at http://dunnry.com/blog.




Best Sellers


Product Details
  • ISBN-13: 9780321468017
  • Publisher: Addison-Wesley Professional
  • Publisher Imprint: Addison-Wesley Professional
  • Language: English
  • ISBN-10: 0321468015
  • Publisher Date: 14 Jul 2021
  • Binding: Digital download
  • No of Pages: 512


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
.NET Developer's Guide to Directory Services Programming, The
Addison-Wesley Professional -
.NET Developer's Guide to Directory Services Programming, The
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

.NET Developer's Guide to Directory Services Programming, The

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!