如何针对ldap组

时间:2017-10-02 13:30:01

标签: java ldap

我正在编写一个小工具,它可以在ldap内执行某些操作(例如创建用户,删除用户,分配用户到组,读取特定属性等)。这很有效。

现在我想添加一些安全方面。只允许一些用户执行这些操作。这就是为什么我想首先检查,如果想要执行执行的用户是在特定的ldap-group(例如管理员)。如果用户不在此组中,他应该收到一条消息(“您未经授权”)。

我的标准登录就像在任何地方描述的那样:

    Hashtable<String, String> env = new Hashtable<String, String>();

    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, LDAP_SERVER_URL + ":" + LDAP_PORT + "/" + LDAP_BASE_DN);
    if (LDAP_SERVER_URL.startsWith("ldaps")) {
        env.put(Context.SECURITY_PROTOCOL, "ssl");
        env.put("java.naming.ldap.factory.socket", "com.ibm.devopscoc.ldap.util.LdapSSLSocketFactory");
        InputStream truststoreStream = LdapSSLSocketFactory.class.getResourceAsStream("truststoreldap.jks");
        LdapSSLSocketFactory.init(null, null, null, truststoreStream, "<password>", "JKS");
    }
    env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
    env.put(Context.SECURITY_PRINCIPAL, probs.getAdminName());
    env.put(Context.SECURITY_CREDENTIALS, probs.getAdminPassword());
    env.put(Context.REFERRAL, "follow");

我在哪里指定小组?​​

提前致谢。

0 个答案:

没有答案