[ https://issues.apache.org/jira/browse/ZOOKEEPER-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15618776#comment-15618776 ]
ASF GitHub Bot commented on ZOOKEEPER-1525: ------------------------------------------- Github user Randgalt commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/84#discussion_r85648967 --- Diff: src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml --- @@ -1193,6 +1193,55 @@ authProvider.2=com.f.MyAuth2 only one will be used. Also all servers must have the same plugins defined, otherwise clients using the authentication schemes provided by the plugins will have problems connecting to some servers. </para> + + <para> <emphasis role="bold">Added in 3.6.0</emphasis>: An alternate abstraction is available for pluggable + authentication. It provides additional arguments. + </para> + + <programlisting> +public abstract class ServerAuthenticationProvider implements AuthenticationProvider { --- End diff -- I'm copying the other parts of the zookeeperProgrammers.xml here. I built the docs and it looks good. > Plumb ZooKeeperServer object into auth plugins > ---------------------------------------------- > > Key: ZOOKEEPER-1525 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1525 > Project: ZooKeeper > Issue Type: Improvement > Affects Versions: 3.5.0 > Reporter: Warren Turkal > Assignee: Jordan Zimmerman > Fix For: 3.5.3, 3.6.0 > > Attachments: ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch, > ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch, > ZOOKEEPER-1525.patch, ZOOKEEPER-1525.patch > > > I want to plumb the ZooKeeperServer object into the auth plugins so that I > can store authentication data in zookeeper itself. With access to the > ZooKeeperServer object, I also have access to the ZKDatabase and can look up > entries in the local copy of the zookeeper data. > In order to implement this, I make sure that a ZooKeeperServer instance is > passed in to the ProviderRegistry.initialize() method. Then initialize() will > try to find a constructor for the AuthenticationProvider that takes a > ZooKeeperServer instance. If the constructor is found, it will be used. > Otherwise, initialize() will look for a constructor that takes no arguments > and use that instead. -- This message was sent by Atlassian JIRA (v6.3.4#6332)