Everything Developers Need to. and/or ADAM, and/or LDAP



Similar documents
About the Authors Fundamentals p. 1 Introduction to LDAP and Active Directory p. 3 A Brief History of Directory Services p. 3 Definition of LDAP p.

LDAP Directory Integration with Cisco Unity Connection

Version 9. Active Directory Integration in Progeny 9

1 Introduction. Windows Server & Client and Active Directory.

Field Description Example. IP address of your DNS server. It is used to resolve fully qualified domain names

Active Directory LDAP Quota and Admin account authentication and management

Configuring and Using the TMM with LDAP / Active Directory

Skyward LDAP Launch Kit Table of Contents

Upgrading User-ID. Tech Note PAN-OS , Palo Alto Networks, Inc.

How To Search For An Active Directory On Goprint Ggprint Goprint.Org (Geoprint) (Georgos4) (Goprint) And Gopprint.Org Gop Print.Org

Step-by-Step Guide to Active Directory Bulk Import and Export

How To Authenticate On An Xtma On A Pc Or Mac Or Ipad (For A Mac) On A Network With A Password Protected (For An Ipad) On An Ipa Or Ipa (For Mac) With A Log

WirelessOffice Administrator LDAP/Active Directory Support

Configuring User Identification via Active Directory

Active Directory 2008 Implementation. Version 6.410

BlackShield ID. QUICKStart Guide. Integrating Active Directory Lightweight Services

Integrating Webalo with LDAP or Active Directory

Enabling single sign-on for Cognos 8/10 with Active Directory

Using LDAP Authentication in a PowerCenter Domain

Forests, trees, and domains

Integration Guide. SafeNet Authentication Service. Integrating Active Directory Lightweight Services

Content Filtering Client Policy & Reporting Administrator s Guide

Chapter 3 Authenticating Users

1 Introduction. Ubuntu Linux Server & Client and Active Directory. Page 1 of 14

CMDBuild Authentication (file auth.conf)

Configuring the Cisco ISA500 for Active Directory/LDAP and RADIUS Authentication

User-ID Best Practices

VMware Identity Manager Administration

PGP Desktop LDAP Enterprise Enrollment

Configuring Sponsor Authentication

The following gives an overview of LDAP from a user's perspective.

eprism Enterprise Tech Notes

EVERYTHING LDAP. Gabriella Davis

Planning LDAP Integration with EMC Documentum Content Server and Frequently Asked Questions

CA Performance Center

How To Take Advantage Of Active Directory Support In Groupwise 2014

Module 4: Implementing User, Group, and Computer Accounts

RSA Authentication Manager 7.1 Microsoft Active Directory Integration Guide

TIBCO Spotfire Platform IT Brief

Security Provider Integration LDAP Server

Configure Directory Integration

User Identification (User-ID) Tips and Best Practices

Integrating PISTON OPENSTACK 3.0 with Microsoft Active Directory

WINDOWS 2000 Training Division, NIC

LDAP User Guide PowerSchool Premier 5.1 Student Information System

Managing Users and Identity Stores

IIS SECURE ACCESS FILTER 1.3

Active Directory. By: Kishor Datar 10/25/2007

Active Directory Commands ( )

Administrator's Guide

Nexio Insight LDAP Synchronization Service

Configuring Microsoft Active Directory 2003 for Net Naming. An Oracle White Paper September 2008

Coveo Platform 7.0. Microsoft Active Directory Connector Guide

Directory Configuration Guide

[MS-FSADSA]: Active Directory Search Authorization Protocol Specification

Sample Configuration: Cisco UCS, LDAP and Active Directory

Managing Identities and Admin Access

ProxySG TechBrief LDAP Authentication with the ProxySG

INSTALLATION GUIDE. BrightSign Network Enterprise Edition 3.5

How To Set Up An Openfire With Libap On A Cdd (Dns) On A Pc Or Mac Or Ipad (Dnt) On An Ipad Or Ipa (Dn) On Your Pc Or Ipo (D

Click Studios. Passwordstate. Installation Instructions

InfoRouter LDAP Authentication Web Service documentation for inforouter Versions 7.5.x & 8.x

Tutorial: How to Use SQL Server Management Studio from Home

Using RADIUS Agent for Transparent User Identification

CAC/PIV PKI Solution Installation Survey & Checklist

Configuring Microsoft Active Directory for Oracle Net Naming. An Oracle White Paper April 2014

Configuring HP Integrated Lights-Out 3 with Microsoft Active Directory

VMware Identity Manager Administration

Managing an Active Directory Infrastructure

Embedded Web Server Security

Configuring Apache Web Server for x509 User Authentication

How To Use Libap With A Libap Server With A Mft Command Center And Internet Server

Basic Configuration. Key Operator Tools older products. Program/Change LDAP Server (page 3 of keyop tools) Use LDAP Server must be ON to work

Dante, Module LDAP. Inferno Nettverk A/S Oslo Research Park Gaustadalleen 21 NO-0349 Oslo Norway. Date: 2011/06/13 13:19:23

Modifying the Active Directory Schema to Support Mac Systems

Click Studios. Passwordstate. Installation Instructions

Configuring Microsoft Active Directory for Integration with NextPage NXT 3 Access Control

LDAP/Active Directory Guide. Release 4.0

How to Logon with Domain Credentials to a Server in a Workgroup

Administrator s Guide

Managing an Active Directory Infrastructure O BJECTIVES

Sophos UTM Web Application Firewall for Microsoft Exchange connectivity

Planning Domain Controller Capacity

User Management Guide

Windows Server 2003 Active Directory: Perspective

HELP DOCUMENTATION UMRA REFERENCE GUIDE

LDaemon. This document is provided as a step by step procedure for setting up LDaemon and common LDaemon clients.

Integrate with Directory Sources

Authentication Methods

PriveonLabs Research. Cisco Security Agent Protection Series:

Samba as an Active Directory Domain Controller

Step-by-Step Guide to Bulk Import and Export to Active Directory

Using LDAP with Sentry Firmware and Sentry Power Manager (SPM)

Windows Server 2003 Active Directory MST 887. Course Outline

SonicOS Enhanced 3.2 LDAP Integration with Microsoft Active Directory and Novell edirectory Support

Getting Started with Clearlogin A Guide for Administrators V1.01

User Management Resource Administrator. Managing LDAP directory services with UMRA

LDAP Authentication and Authorization

Transcription:

Everything Developers Need to Know About Active Directory and/or ADAM, and/or LDAP

My Boring & Generic Bio Slide Working with Active Directory since Oct 1999 (RTM date) Currently run large Active Directory installation 60,000+ User Objects Technical Lead Windows Server Group 75% of the.netprojects I ve done does something with Active Directory I own a mini-van, enough said!

My Boring & Generic Bio Slide http://scevanscg.com Information on S.DS in 3.5 coming soon

My Boring & Generic Bio Slide SLO.Net Users Group (http://slodotnet.org) San Luis Obispo Code Camp (http://www.centralcoastcodecamp.com)

What This Talk is Not How to setup Active Directory How to manage Active Directory (manually) How to secure Active Directory How to backup Active Directory How to architect Active Directory How to scale Active Directory How to... Active Directory This is only about how to write code that leverages Active Directory/LDAP

What is LDAP? LDAP = Lightweight Directory Access Protocol Store information about stuff (people, computers, groups, printers, organizations, objects)

LDAP 101? Object Types Schema Distinguished Name (DN) Attribute

What is Active Directory? Microsoft s domain authentication service Uses LDAP to identify and store information about users, computers, objects AND services What is users jdoe first name? What operating system does computer x have? Who is a member of group y? Where is a Terminal Services Licensing Server Uses Kerberos for Authentication

Then who is ADAM? Active Directory Application Mode Becoming Active Directory Lightweight Directory Services in Longhorn timeframe Install on any Windows Box (XP or 2003) Active Directory Light Used by applications Multiple Instances per server Replication Avoids schema modifications to AD forest

Why would you use ADAM instead of Active Directory? Provides secure password storage, password policies, account life cycles, and groups out of the box. Use pass through authentication to authenticate internal and external users. Store directory information we don t want in AD (eg Pictures, confidential, etc) Include ADAM with a shipping application.

System.DirectoryServices AKA = S.DS.Net Wrapper around ADSI

Before We Get To Code What you should NEVER do, when working against Active Directory Target a specific Domain Controller Increase Page Size Change the schema without LDIF file

LDAP Address Book Find User Modify User Add User Modify Group Membership

S.DS.DirectoryEntryConstructor Path LDAP://server/ou=org,dc=domain,dc=name LDAP://ou=org,dc=domain,dc=name (serverless binding) LDAP://RootDSE GC://dc=forest,dc=name Username Full DN (eg cn=user,dc=domain,dc=com) NT Account Name (domain\user) User Principal Name (aka = UPN) (user@domain.com) Plain Username (username)(requires AuthenticationTypes.Secure)

S.DS.DirectoryEntryConstructor #2 Password AuthenticationTypes Secure Uses SSPI (Windows Security Support Provider Interface) Anonymous Pass or String.Emptyto Username and Password attributes SecureSocketsLayer SSL, can be used in combination with Secure, or can be used to secure connections to non-ad LDAP s. None AKA = Basic, credentials passed in clear text. Should always use in conjunction with SecureSocketsLayer. Common Uses: If you re using Active Directory use Secure If your not use anonymous if you can Otherwise you must use SecureSocketsLayer

S.DS.DirectoryEntryMisc Attributes Set attribute to null de.properties[attribute].clear() Single-Value Check for existence de.properties.contains(attribute) Multi-Value de.properties.add(object) Object Cache Link Value Pairs Disposing

DirectorySearcherConstructor SearchRoot DirectoryEntry object of root of search Filter String of LDAP Filter (<attribute name><filter type><attribute value>) (givenname=steve) (objectclass=*) (badpwdcount>10) ( (givenname=steve)(givenname=steven)) (givenname=steve*) objectcategory* vs objectclass

S.DS.DirectorySearcherExecute Search searcher.findone() Avoid.net 2.0 Memory Leak if no object returned Think there can only be one object, but you end up being wrong searcher.findall() Returns SearchResultCollection(collection of SearchResult objects) foreach(searchresult sr in searcher.findall())

S.DS.DirectorySearcherMisc Only use SearchResult.GetDirectoryEntry() when modifying object SearchResultcontains all the properties we need for read operations SearchResult.Properties[attribute].Value; GetDirectoryEntry() triggers at least one LDAP call. searcher.pagesize = 2000; samaccountname vs userprincipalname

How to use LDAP for Authentication NOTE: There are better ways to do authentication if your using Active Directory

Gotcha s LDAP over SSL Global Catalog Index s Paged Searching (Max Query Limit) Default limit is 2000 results in Active Directory

References S.DS Quick List for C# Code Examples (http://shrinkster.com/p0v) The.NET Developer's Guide to Directory Services Programming (http://directoryprogramming.net) Joe Kaplan Blog (http://www.joekaplan.net/) Ryan Dunn Blog (http://dunnry.com/blog/) nntp://microsoft.public.adsi.general

Thanks For Coming! PRIZES!!!! Don t forget we draw prizes on Sunday afternoon, including great products like Acronisand CodeSmithTools, plus many new books! THANKS AGAIN TO OUR CONTRIBUTORS!!!! Cal State Fullerton (http://www.fullerton.edu) Spherion (www.spherion.com) Microsoft (www.microsoft.com) Neudesic(www.neudesic.com) PDSA Inc. (www.pdsa.com) QuickStart(www.quickstart.com) Harbor Objects (www.harborobjects.com) Odyssey Consulting Group (www.ocgpros.com) IDesign Inc. (www.idesign.net)