<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Archiva Web :: Web Common: ldapConfiguration</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Bootstrap core CSS -->
  <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> -->

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/style.css">

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</head>

<body class="home">
 <div class="container">
  <header>
 
   <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Archiva Web :: Web Common: ldapConfiguration</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="resources.html">REST</a></li>
            <li id="nav-data"><a href="data.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
<li>
 <a href="index.html" class="home">Home</a> &gt;

            </li>
<li>
 <a href="syntax_xml.html">XML</a> &gt;

            </li>
<li class="current">
 <a href="xml_ns0_ldapConfiguration.html">ldapConfiguration</a>

            </li>
          </ul>
        </div>
      </div>
  <!--<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Archiva Web :: Web Common: ldapConfiguration</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
          <li><a href="downloads.html">Files and Libraries</a></li>
        </ul>
      </div>
    </div>
  </nav>-->
 </header>
  <div id="main" class="column first last span-20">
  
      <h1 class="page-header">ldapConfiguration <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
        <dt>Schema</dt>
        <dd><a href="ns0.xsd">ns0.xsd</a></dd>
        <dt>Available Since</dt>
        <dd>1.4-M4</dd>
      </dl>

      <table class="table">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>type</th>
          <th>namespace</th>
          <th>min/max occurs</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  authenticationMethod
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  baseDn
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  baseGroupsDn
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  bindAuthenticatorEnabled
</td>
          <td>  boolean

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  bindDn
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  contextFactory
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  extraProperties
</td>
          <td>  (custom)

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  extraPropertiesEntries
</td>
          <td>  <a href="xml_ns0_propertyEntry.html">propertyEntry</a>

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/unbounded

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  hostName
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  password
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  port
</td>
          <td>  int

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  ssl
</td>
          <td>  boolean

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  useRoleNameAsGroup
</td>
          <td>  boolean

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  writable
</td>
          <td>  boolean

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-xml">&lt;ldapConfiguration&gt;
  &lt;hostName&gt;...&lt;/hostName&gt;
  &lt;port&gt;...&lt;/port&gt;
  &lt;ssl&gt;...&lt;/ssl&gt;
  &lt;baseDn&gt;...&lt;/baseDn&gt;
  &lt;contextFactory&gt;...&lt;/contextFactory&gt;
  &lt;bindDn&gt;...&lt;/bindDn&gt;
  &lt;password&gt;...&lt;/password&gt;
  &lt;authenticationMethod&gt;...&lt;/authenticationMethod&gt;
  &lt;extraProperties&gt;...&lt;/extraProperties&gt;
  &lt;bindAuthenticatorEnabled&gt;...&lt;/bindAuthenticatorEnabled&gt;
  &lt;extraPropertiesEntries&gt;
    &lt;key&gt;...&lt;/key&gt;
    &lt;value&gt;...&lt;/value&gt;
  &lt;/extraPropertiesEntries&gt;
  &lt;baseGroupsDn&gt;...&lt;/baseGroupsDn&gt;
  &lt;writable&gt;...&lt;/writable&gt;
  &lt;useRoleNameAsGroup&gt;...&lt;/useRoleNameAsGroup&gt;
&lt;/ldapConfiguration&gt;
</pre>
        
        <footer>
          <div class="footer">
            Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
          </div>
        </footer>

      </div>
    
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  
  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
  

</body>
</html>
