LDAP回调功能

时间:2014-03-19 20:37:07

标签: cq5 aem

大师,

我正在尝试通过引用“CALLBACKS”下的this文章来实现LDAP回调功能

我已经没有问题地配置了LDAP。我的要求是根据DS服务器中的属性将ldap用户分配给CRX组。现在根据我的理解,当LDAP用户第一次尝试登录时,CQ会自动调用我的实现Callback接口的类。如果我错了,请纠正我。

所以,我决定创建实现Callback接口的bundle。凭借我的小知识,到目前为止我已经做到了这一点 -

i)在CRXDE lite中,我在geometrixx项目下添加了一个bundle并附加了简单的代码但是在构建bundle期间我收到错误,说回调无法解析为类型。

import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.Group;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.jcr.SimpleCredentials;

public class SyncUser implements com.day.crx.security.ldap.sync.Callback{

@Override
 public void onUserSync(User userToBeSynched, Map<String, Value[]> attributes,
 ValueFactory valueFactory) throws RepositoryException {
 Iterator iter = attributes.entrySet().iterator();
    while (iter.hasNext()) {
    Map.Entry mEntry = (Map.Entry) iter.next();
    javax.jcr.Value val =  (javax.jcr.Value)mEntry.getValue();
              // Error** [Ljavax.jcr.Value; cannot be cast to javax.jcr.Value
    System.out.println(mEntry.getKey() + " : " + val.getString());
 }
 }

@Override
public void onGroupSync(Group group,
                        Map<String, Value[]> attributes,
                        ValueFactory vf) throws RepositoryException{
    System.out.println("Hello onGroupSync");//do my stuff

 }

}

我找不到有关此com.day.crx.security.ldap.sync.Callback接口的任何文档。请指导我。感谢您的帮助

1 个答案:

答案 0 :(得分:0)

以下是com.day.crx.security.ldap.sync.Callback的至少部分文档:https://docs.adobe.com/docs/en/cq/5-6-1/core/administering/ldap_authentication.html#Callbacks

doc you referenced说:

  

回调接口位于crx-auth-ldap模块中并具有   需要实施的以下方法:

     

您至少需要以下依赖项(jar文件)来创建和   构建一个回调类:

jcr-<version>.jar
crx-auth-<version>.jar
     

两者都与CRX Explorer Web应用程序捆绑在一起,可以   从战争文件中提取。

     

编译并打包回调类之后,您需要进行编译   适用于CRX。最简单的方法是放置自定义回调   与CRX webapp一起实现   CRX-快速启动/服务器/运行/ 0 / _crx / WEB-INF / [LIB |类]