As the wording implies, this is always a security problem. In some cases, this error occurs because we really did try to perform an operation that we were not allowed to perform. However, this error often occurs because of a problem with the way we established our security context.
Chapter 8 contains a variety of information about establishing a security context with the directory and discovering security information dynamically at runtime. A technique we like to use is to try the equivalent operation in a different environment or with a completely different tool, such as LDP (see Appendix B). If we can make it work in once place but not in another, then the difference usually lies in how we established our security context.
Part I: Fundamentals
Introduction to LDAP and Active Directory
Introduction to .NET Directory Services Programming
Binding and CRUD Operations with DirectoryEntry
Searching with the DirectorySearcher
Advanced LDAP Searches
Reading and Writing LDAP Attributes
Active Directory and ADAM Schema
Security in Directory Services Programming
Introduction to the ActiveDirectory Namespace
Part II: Practical Applications
User Management
Group Management
Authentication
Part III: Appendixes
Appendix A. Three Approaches to COM Interop with ADSI
Appendix B. LDAP Tools for Programmers
Appendix C. Troubleshooting and Help
Index