It is not easy and obvious, no. You won't be told if auth succeeded,
the best you can do is immediately call a simple synchronous method
and ensure it doesn't raise authfailed.

C

On Monday, June 20, 2011,  <[email protected]> wrote:
> Hi guys,
>
> Thank you for your response.
>
> I read the zk's source code of Friday and found out that in case of failed 
> authentication the KeeperState is changed to KeeperState.AuthFailed but in 
> case of successful one nothing happens - neither any triggers are called nor 
> status is changed. KeeperState remains the same as before the call of 
> authentication. So, it is not obvious if the authentication is completed and 
> not or if it was called or not at all.
>
> In the ClientCnxn.SendThread class, method readResponse(), line 766:
>
>             ....
>             if (replyHdr.getXid() == -4) {
>                  // -4 is the xid for AuthPacket
>                 if(replyHdr.getErr() == 
> KeeperException.Code.AUTHFAILED.intValue()) {
>                     zooKeeper.state = States.AUTH_FAILED;
>                     eventThread.queueEvent( new 
> WatchedEvent(Watcher.Event.EventType.None,
>                             Watcher.Event.KeeperState.AuthFailed, null) );
>                 }
>                 if (LOG.isDebugEnabled()) {
>                     LOG.debug("Got auth sessionid:0x"
>                             + Long.toHexString(sessionId));
>                 }
>                 return;
>             }
>             ....
>
> If it is successful - nothing is called.
> Is it supposed how it should behave? If it is then I have to catch the 
> exception, process it (if it is actually authentication exception) and re-try 
> my call (e.g. create znode) until it is successful. Not easy and obvious, 
> isn't it?
>
> Regards,
> Semyon
>
>
> -----Original Message-----
> From: Patrick Hunt [mailto:[email protected]]
> Sent: Friday, June 17, 2011 7:35 PM
> To: [email protected]
> Subject: Re: How to check if the zookeeper client is authenticated?
>
> In general i'm pretty happy with our docs, however Auth docs are an area 
> where we could use some help.... ;-) Would be great if someone wanted to work 
> on this.
>
> On Fri, Jun 17, 2011 at 11:28 AM, Mahadev Konar <[email protected]> wrote:
>> Hey Semyon,
>>  You will get an event in your watcher :
>>
>> KeeperState.AuthFailed
>>
>> in case that happens.
>>
>> I think this probably needs more documentation since its not obvious.
>> Semyon, mind creating a jira and if possible upload a patch for it?
>>
>> thanks
>> mahadev
>>
>> On Fri, Jun 17, 2011 at 3:23 AM,  <[email protected]> wrote:
>>>
>>> Hello
>>>
>>> I am using default "digest" AuthenticationProvider. How can I
>>> understand that the client is authenticated and is ready to create the 
>>> nodes?
>>>
>>> Thanks
>>>
>>> Visit our website at http://www.ubs.com
>>>
>>> This message contains confidential information and is intended only
>>> for the individual named. If you are not the named addressee you
>>> should not disseminate, distribute or copy this e-mail. Please notify
>>> the sender immediately by e-mail if you have received this e-mail by
>>> mistake and delete this e-mail from your system.
>>>
>>> E-mails are not encrypted and cannot be guaranteed to be secure or
>>> error-free as information could be intercepted, corrupted, lost,
>>> destroyed, arrive late or incomplete, or contain viruses. The sender
>>> therefore does not accept liability for any errors or omissions in
>>> the contents of this message which arise as a result of e-mail transmission.
>>> If verification is required please request a hard-copy version. This
>>> message is provided for informational purposes and should not be
>>> construed as a solicitation or offer to buy or sell any securities or
>>> related financial instruments.
>>>
>>> UBS Limited is a company limited by shares incorporated in the United
>>> Kingdom registered in England and Wales with number 2035362.
>>> Registered office: 1 Finsbury Avenue, London EC2M 2PP.  UBS Limited
>>> is authorised and regulated by the Financial Services Authority.
>>>
>>> UBS AG is a public company incorporated with limited liability in
>>> Switzerland domiciled in the Canton of Basel-City and the Canton of
>>> Zurich respectively registered at the Commercial Registry offices in
>>> those Cantons with Identification No: CH-270.3.004.646-4 and having
>>> respective head offices at Aeschenvorstadt 1, 4051 Basel and
>>> Bahnhofstrasse 45, 8001 Zurich, Switzerland.  Registered in the
>>> United Kingdom as a foreign company with No: FC021146 and having a UK
>>> Establishment registered at Companies House, Cardiff, with No:
>>> BR 004507.  The principal office of UK Establishment: 1 Finsbury
>>> Avenue, London EC2M 2PP.  In the United Kingdom, UBS AG is authorised
>>> and regulated by the Financial Services Authority.
>>>
>>> UBS reserves the right to retain all messages. Messages are protected
>>> and accessed only in legally justified cases.
>>>
>>
>>
>>
>> --
>> thanks
>> mahadev
>> @mahadevkonar
>>
> Visit our website at http://www.ubs.com
>
> This message contains confidential information and is intended only
> for the individual named. If you are not the named addressee you
> should not disseminate, distribute or copy this e-mail. Please
> notify the sender immediately by e-mail if you have received this
> e-mail by mistake and delete this e-mail from your system.
>
> E-mails are not encrypted and cannot be guaranteed to be secure or
> error-free as information could be intercepted, corrupted, lost,
> destroyed, arrive late or incomplete, or contain viruses. The sender
> therefore does not accept liability for a

Reply via email to