Paperback: 512 pages
Publisher: Addison-Wesley Professional; 1 edition (May 18, 2006)
Product Dimensions: 7 x 1.1 x 9 inches
Shipping Weight: 2.2 pounds (View shipping rates and policies)
Average Customer Review: 4.6 out of 5 stars See all reviews (21 customer reviews)
Best Sellers Rank: #1,270,594 in Books (See Top 100 in Books) #214 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Structured Design #435 in Books > Computers & Technology > Programming > Microsoft Programming > .NET #543 in Books > Computers & Technology > Networking & Cloud Computing > Network Administration > Storage & Retrieval
This book is for all of you who need to write Active Directory based programs for .NET and ASP.NET.The voice of bitter experience: As anyone who has tried to learn how to program against Active Directory or ADAM knows, the on-line information at MSDN is extraordinarily confusing, not least because Microsoft has introduced several different technologies to access Active Directory--Native LDAP, System.DirectoryServices, System.DirectoryServices.ActiveDirectory, System.DirectoryServices.Protocols, Windows Management Instrumentation (WMI), ADSI, and the Net* and Ds* APIs. MSDN's sample code, once you get beyond the basics, is mostly written in C++ and/or VB script. Trust me, you don't want to go there without a knowledgeable mentor at your side. This book can be your guide.Both of the authors have a welcome presence on Active Directory forums and in the blogosphere. They are well-known as the go-to guys for Active Directory questions. The book reflects their practical experience responding to programmers' reasonable but difficult questions, such as "What's the best way to determine a user's effective group memberships, taking group nesting into account". I couldn't find this answer on MSDN.The book's first two chapters sort out the confusion about the many layers of Active directory programming in lucid, well-organized prose.Then, chapter-by-chapter, the book explains how to do just about anything a sane .NET programmer would want to do: CRUD operations, searching, schema, user and group management, authentication, and COM interop. Each sub-topic is succinct, explains advantages and disadvantages of various techniques, and contains code snippets that are valuable and easy to drop into your own code.
The .NET Developer's Guide to Directory Services Programming provides valuable insight in how to properly write .NET applications that use Active Directory or ADAM. It covers pretty much everything you need to know, to be effective in programming against a Directory Service using both .NET 1.1 and .NET 2.0.The book is very well written and provides sample code around any topic that it touches upon (download here: [...] ). Both the samples from the book (raw format) and a complete .NET Solution are provided that a developer can leverage to develop their own applications. The site also provides an active forum where you can post questions and problems around the topic. The level of support Ryan and Joe provide is remarkable. In fact, for most searches on Active Directory problems on google, you would find that in many cases, one of the authors is involved in the thread working towards a solution.The book starts out with a general explanation of LDAP and Active Directory. This is a high level overview of the concepts and terminology around Directory Services, LDAP, Domains etc. It also explains what different approaches to interacting with Directories are available to the programmer. Once the concepts have been explained, the book continues with CRUD operations. As you read this chapter, you will find the true value of the book. Not only does it contain all the information you'll need to program against a Directory Service, but it also points out many of the common pitfalls that a developer runs into when writing an application. The book also goes beyond what the .NET Framework provides to reveal what is actually happening under the hood, when this is appropriate. By doing that, the authors shed some light on why certain logic should be implemented in a particular way.