Active Directory/Connect: Difference between revisions

From Rosetta Code
Content added Content deleted
(omitting from Yorick; consolidating {{omit from}} calls at bottom)
Line 2: Line 2:
[[description::requires improvement| ]]
[[description::requires improvement| ]]
[[Category:Less_Than_5_Examples]]
[[Category:Less_Than_5_Examples]]

{{omit from|Clojure}}


=={{header|Perl}}==
=={{header|Perl}}==
Line 62: Line 60:
objConn.Open</lang>
objConn.Open</lang>


{{omit from|Clojure}}
{{omit from|TI-89 BASIC}} <!-- Does not have network access. -->
{{omit from|TI-89 BASIC}} <!-- Does not have network access. -->
{{omit from|Active Directory}}
{{omit from|Active Directory}}
{{omit from|MIPS Assembly|None of the commonly used implementations can access AD functions}}
{{omit from|MIPS Assembly|None of the commonly used implementations can access AD functions}}
{{omit from|Yorick|Does not have network access.}}
[[Category:Active Directory]]
[[Category:Active Directory]]

Revision as of 05:31, 17 October 2010

Task
Active Directory/Connect
You are encouraged to solve this task according to the task description, using any language you may know.

Perl

LDAP Modules <lang perl> use Net::LDAP;

my $ldap = Net::LDAP->new('ldap://ldap.example.com') or die $@; my $mesg = $ldap->bind( $bind_dn, password => $bind_pass ); </lang>

PHP

PHP LDAP Reference <lang php><?php $ldap = ldap_connect($hostname, $port); $success = ldap_bind($ldap, $username, $password);</lang>

Python

Works with: Python version 2.6
Library: python-ldap

python-ldap Documentation

<lang python>import ldap

l = ldap.initialize("ldap://ldap.example.com") try:

   l.protocol_version = ldap.VERSION3
   l.set_option(ldap.OPT_REFERRALS, 0)
   bind = l.simple_bind_s("me@example.com", "password")

finally:

   l.unbind()

</lang>

Ruby

Similar to Tcl, assume the AD server talks LDAP.

There are many Ruby LDAP packages ([1]) -- this solution uses Net::LDAP ("Pure Ruby LDAP Tools" on RubyForge, gem name "ruby-net-ldap")

Library: RubyGems

<lang ruby>require 'rubygems' require 'net/ldap' ldap = Net::LDAP.new(:host => 'ldap.example.com', :base => 'o=companyname') ldap.authenticate('bind_dn', 'bind_pass')</lang>

Tcl

This does not use SSPI/Kerberos yet, so your AD would need to allow simple ldap access. <lang tcl>package require ldap set conn [ldap::connect $host $port] ldap::bind $conn $user $password</lang>

VBScript

Creating the normal connection to AD <lang vbscript>Set objConn = CreateObject("ADODB.Connection") Set objCmd = CreateObject("ADODB.Command") objConn.Provider = "ADsDSOObject" objConn.Open</lang>