JAVA中SASL框架的Callback介绍(翻译) - tRavAsty/SASL GitHub Wiki
原文 SASL机制总是要求被提供认证id环境属性。所有其他的属性是按照机制的需要来输入的 默认情况下,LDAP provider通过Context.SECURITY PRINCIPAL和Context.SECURITY CREDENTIALS环境属性。如果你需要输入更多的内容,那么你需要定义_callback handler_对象,为了实现修改callback handler对象,你需要导入相应的环境
##Callback Handler
当一个SASL机制要求输入的时候,它调用javax.security.auth.callback.CallbackHandler.handle(),并且提供一系列的机制需要的callback。一个机制必须使用javax.security.auth.callback.NameCallback来请求认证id并且使用javax.security.auth.callback.PasswordCallback来请求认证凭证。为了获得其他的输入,机制必须实现包含了javax.security.auth.callback.Callback接口的callback
callback handler需要处理机制所要求的各个类型的callback java SASL API中详细说明了机制所需要的callback