ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/ldap_sasl_bind.htm

214 lines
6.3 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>ldap_sasl_bind()--Perform an LDAP SASL Bind Request</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Direct1 SCRIPT J converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- File Edited April 2001 -->
<!-- This file has undergone html cleanup on 2/19/02 by JET -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>ldap_sasl_bind()--Perform an LDAP SASL Bind Request</h2>
<br>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Syntax<br>
<pre>
#include &lt;ldap.h&gt;
int ldap_sasl_bind(
LDAP *<em>ld</em>,
const char *<em>dn</em>,
const char *<em>mechanism</em>,
const struct berval *<em>cred</em>,
LDAPControl **<em>serverctrls</em>,
LDAPControl **<em>clientctrls</em>,
int *<em>msgidp</em>)
</pre>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Library Name/Service Program: QSYS/QGLDCLNT<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The <strong>ldap_sasl_bind()</strong> function is used to authenticate a
distinguished name (DN) to a directory server using Simple Authentication
Security Layer (SASL).</p>
<p>After a connection is made to an LDAP V2 server an LDAP bind API must be
called before any other LDAP APIs can be called for that connection. For LDAP
V3 servers, binding is optional.</p>
<p><strong>ldap_sasl_bind()</strong> is an asynchronous request. The result of
the operation can be obtained by a subsequent call to <a href=
"ldap_result.htm">ldap_result()</a>.</p>
<p>The asynchronous version of this API only supports the LDAP_SASL_SIMPLE mechanism. You must use <a href="ldap_sasl_bind_s.htm">
ldap_sasl_bind_s()</a> for other mechanisms.</p>
<br>
<h3>Authorities and Locks</h3>
<p>No i5/OS authority is required. All authority checking is done by the LDAP
server.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><em>ld</em></dt>
<dd>(Input) Specifies the LDAP pointer returned by a previous call to <a href=
"ldap_init.htm">ldap_init()</a>, <a href="ldap_ssl_init.htm">
ldap_ssl_init()</a>, or <a href="ldap_open.htm">ldap_open()</a>.</dd>
<dt><em>dn</em></dt>
<dd>(Input) Specifies the Distinguished Name of the entry to bind as.</dd>
<dt><em>mechanism</em></dt>
<dd>(Input) This value can be set to NULL to perform a simple bind. Other
mechanisms (EXTERNAL, CRAM-MD5, and GSSAPI) are implemented, but do not support
the asynchronous SASL bind. You must use <a href="ldap_sasl_bind_s.htm">
ldap_sasl_bind_s()</a> for other mechanisms.</dd>
<dt><em>cred</em></dt>
<dd>(Input) Specifies the credentials with which to authenticate. Arbitrary
credentials can be passed using this parameter. In most cases, this is the
user's password.</dd>
<dt><em>serverctrls</em></dt>
<dd>(Input) Specifies a list of LDAP server controls. This parameter may be set
to null. See <a href="ldap_controls.htm">LDAP Controls</a> for more information
about server controls.</dd>
<dt><em>clientctrls</em></dt>
<dd>(Input) Specifies a list of LDAP client controls. This parameter may be set
to null. See <a href="ldap_controls.htm">LDAP Controls</a> for more information
about client controls.</dd>
<dt><em>msgidp</em></dt>
<dd>(Output) This result parameter is set to the message id of the request if
the <strong>ldap_sasl_bind()</strong> call succeeds.</dd>
</dl>
<br>
<h3>Return Value</h3>
<dl>
<dt><strong>Message ID of the operation initiated</strong></dt>
<dd>if the request was successfully sent. A subsequent call to
<a href="ldap_result.htm">ldap_result()</a>, can be used to obtain the
result of the operation.<br>
<br>
</dd>
<dt><strong>-1</strong></dt>
<dd>if the request was not successful.</dd>
</dl>
<br>
<h3>Error Conditions</h3>
<p>If <strong>ldap_sasl_bind()</strong> is not successful, an error code will
be returned. See <a href="ldap_error_condt.htm">LDAP Client API Error
Conditions</a> for possible LDAP error code values.</p>
<br>
<h3>Error Messages</h3>
<p>The following message may be sent from this function.</p>
<table width="100%" cellpadding="3">
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPF3CF2 E</td>
<td width="85%" valign="top">Error(s) occurred during running of ldap_sasl_bind
API.</td>
</tr>
</table>
<br>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="ldap_sasl_bind_s.htm">ldap_sasl_bind_s()</a> -- Synchronously bind
to the directory using the Simple Authentication Security Layer (SASL).</li>
<li><a href="ldap_simple_bind.htm">ldap_simple_bind()</a> -- Asynchronously
bind to the directory using simple authentication.</li>
<li><a href="ldap_simple_bind_s.htm">ldap_simple_bind_s()</a> -- Synchronously
bind to the directory using simple authentication.</li>
<li><a href="ldap_unbind.htm">ldap_unbind()</a> -- Asynchronously unbind from
the LDAP server and close the connection.</li>
<li><a href="ldap_unbind_s.htm">ldap_unbind_s()</a> -- Synchronously unbind
from the LDAP server and close the connection.</li>
</ul>
<br>
<hr>
API introduced: V4R5
<hr>
<table align="center" cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"dirserv1.htm">LDAP APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>