<!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: RedbackRuntimeConfiguration</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: RedbackRuntimeConfiguration</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_json.html">JSON</a> &gt;

            </li>
<li class="current">
 <a href="json_redbackruntimeconfiguration.html">RedbackRuntimeConfiguration</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: RedbackRuntimeConfiguration</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">RedbackRuntimeConfiguration <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
        <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>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  configurationProperties
</td>
          <td>  object

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  configurationPropertiesEntries
</td>
          <td>  array of <a href="json_propertyentry.html">PropertyEntry</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  ldapConfiguration
</td>
          <td>  <a href="json_ldapconfiguration.html">LdapConfiguration</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  ldapGroupMappings
</td>
          <td>  array of <a href="json_ldapgroupmapping.html">LdapGroupMapping</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  migratedFromRedbackConfiguration
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  rbacManagerImpls
</td>
          <td>  array of string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  useUsersCache
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  userManagerImpls
</td>
          <td>  array of string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  usersCacheConfiguration
</td>
          <td>  <a href="json_cacheconfiguration.html">CacheConfiguration</a>

</td>
          <td>  
</td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-js">{
  &quot;userManagerImpls&quot; : [ &quot;...&quot;, &quot;...&quot; ],
  &quot;ldapConfiguration&quot; : {
    &quot;hostName&quot; : &quot;...&quot;,
    &quot;port&quot; : 12345.0,
    &quot;ssl&quot; : true,
    &quot;baseDn&quot; : &quot;...&quot;,
    &quot;contextFactory&quot; : &quot;...&quot;,
    &quot;bindDn&quot; : &quot;...&quot;,
    &quot;password&quot; : &quot;...&quot;,
    &quot;authenticationMethod&quot; : &quot;...&quot;,
    &quot;extraProperties&quot; : {
      &quot;property1&quot; : &quot;...&quot;,
      &quot;property2&quot; : &quot;...&quot;
    },
    &quot;bindAuthenticatorEnabled&quot; : true,
    &quot;extraPropertiesEntries&quot; : [ {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    }, {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    } ],
    &quot;baseGroupsDn&quot; : &quot;...&quot;,
    &quot;writable&quot; : true,
    &quot;useRoleNameAsGroup&quot; : true
  },
  &quot;migratedFromRedbackConfiguration&quot; : true,
  &quot;configurationProperties&quot; : {
    &quot;property1&quot; : &quot;...&quot;,
    &quot;property2&quot; : &quot;...&quot;
  },
  &quot;configurationPropertiesEntries&quot; : [ {
    &quot;key&quot; : &quot;...&quot;,
    &quot;value&quot; : &quot;...&quot;
  }, {
    &quot;key&quot; : &quot;...&quot;,
    &quot;value&quot; : &quot;...&quot;
  } ],
  &quot;useUsersCache&quot; : true,
  &quot;usersCacheConfiguration&quot; : {
    &quot;timeToIdleSeconds&quot; : 12345.0,
    &quot;timeToLiveSeconds&quot; : 12345.0,
    &quot;maxElementsInMemory&quot; : 12345.0,
    &quot;maxElementsOnDisk&quot; : 12345.0
  },
  &quot;rbacManagerImpls&quot; : [ &quot;...&quot;, &quot;...&quot; ],
  &quot;ldapGroupMappings&quot; : [ {
    &quot;group&quot; : &quot;...&quot;,
    &quot;roleNames&quot; : [ &quot;...&quot;, &quot;...&quot; ]
  }, {
    &quot;group&quot; : &quot;...&quot;,
    &quot;roleNames&quot; : [ &quot;...&quot;, &quot;...&quot; ]
  } ]
}</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>
