Hi Robbie, I of course get your point. But the problem I am having with this set up is that my password database can never return a password (yeah it sounds crazy ;-)). Basically my password database implementation talks to a user manager which can only say if a user is authenticated or not only. It never exposes the passwords. Thats why I wanted to have the authentication result in the password callback initially and then a new callback for authentication in the new model that you have been suggesting.
Thanks, Danushka > The only change you need to make in your SaslServer is to manipulate > the incoming plain text in validatePassword() (eg using a static > function that presumably already exists in your custom PD class) in > such way that you can compare it with the PasswordCallback result, > without needing to create a new type of PasswordCallback or modify the > CallbackHandlers or anything else. Then simply subclass the > PlainInitialiser and PlainSaslServerFactory to create and register > your new PlainSaslServer(Factory) subclasses, and use the new > Initialiser when creating your new PD instead of the existing > PlainInitialiser for the PlainPasswordFilePD. >
