<?xml version="1.0"?>
<!--

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.

-->

<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Java-Broker-Concepts-Authentication-Providers">
    <title>Authentication Providers</title>
    <para>
        <emphasis>Authentication Providers</emphasis> are used by <emphasis>Ports</emphasis> to authenticate connections.
        Many <emphasis>Authentication Providers</emphasis> can be configured on the Broker at the same time, from which
        each <emphasis>Port</emphasis> can be assigned one.
    </para>
    <para>Some Authentication Providers offer facilities for creation and deletion of users.</para>
</section>
