• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

evolvedbinary / elemental / 982

29 Apr 2025 08:34PM UTC coverage: 56.409% (+0.007%) from 56.402%
982

push

circleci

adamretter
[feature] Improve README.md badges

28451 of 55847 branches covered (50.94%)

Branch coverage included in aggregate %.

77468 of 131924 relevant lines covered (58.72%)

0.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/extensions/security/ldap/src/main/java/org/exist/security/realm/ldap/LDAPAccountImpl.java
1
/*
2
 * Elemental
3
 * Copyright (C) 2024, Evolved Binary Ltd
4
 *
5
 * admin@evolvedbinary.com
6
 * https://www.evolvedbinary.com | https://www.elemental.xyz
7
 *
8
 * Use of this software is governed by the Business Source License 1.1
9
 * included in the LICENSE file and at www.mariadb.com/bsl11.
10
 *
11
 * Change Date: 2028-04-27
12
 *
13
 * On the date above, in accordance with the Business Source License, use
14
 * of this software will be governed by the Apache License, Version 2.0.
15
 *
16
 * Additional Use Grant: Production use of the Licensed Work for a permitted
17
 * purpose. A Permitted Purpose is any purpose other than a Competing Use.
18
 * A Competing Use means making the Software available to others in a commercial
19
 * product or service that: substitutes for the Software; substitutes for any
20
 * other product or service we offer using the Software that exists as of the
21
 * date we make the Software available; or offers the same or substantially
22
 * similar functionality as the Software.
23
 */
24
package org.exist.security.realm.ldap;
25

26
import org.exist.config.Configuration;
27
import org.exist.config.ConfigurationException;
28
import org.exist.config.annotation.ConfigurationClass;
29
import org.exist.security.Account;
30
import org.exist.security.Group;
31
import org.exist.security.PermissionDeniedException;
32
import org.exist.security.AbstractRealm;
33
import org.exist.security.internal.AccountImpl;
34
import org.exist.storage.DBBroker;
35

36
/**
37
 * @author <a href="mailto:adam@evolvedbinary.com">Adam retter</a>
38
 */
39
@ConfigurationClass("account")
40
public class LDAPAccountImpl extends AccountImpl {
41

42
    public LDAPAccountImpl(final AbstractRealm realm, final Configuration configuration) throws ConfigurationException {
43
        super(realm, configuration);
×
44
    }
×
45

46
    public LDAPAccountImpl(final DBBroker broker, final AbstractRealm realm, final AccountImpl from_user) throws ConfigurationException {
47
        super(broker, realm, from_user);
×
48
    }
×
49

50
    public LDAPAccountImpl(final DBBroker broker, final AbstractRealm realm, final int id, final Account from_user) throws ConfigurationException, PermissionDeniedException {
51
        super(broker, realm, id, from_user);
×
52
    }
×
53

54
    public LDAPAccountImpl(final DBBroker broker, final AbstractRealm realm, final String name) throws ConfigurationException {
55
        super(broker, realm, name);
×
56
    }
×
57

58
    public LDAPAccountImpl(final DBBroker broker, final AbstractRealm realm, final int id, final String name, final String password) throws ConfigurationException {
59
        super(broker, realm, id, name, password);
×
60
    }
×
61

62
    LDAPAccountImpl(final AbstractRealm realm, final Configuration config, final boolean removed) throws ConfigurationException {
63
        super(realm, config, removed);
×
64
    }
×
65

66
    @Override
67
    public Group addGroup(final Group group) throws PermissionDeniedException {
68
        if (group instanceof LDAPGroupImpl) {
×
69
            //TODO
70
            //we dont support writes to LDAP yet!
71
            return null;
×
72
        } else {
73
            //adds an LDAP User to a group from a different Realm
74
            return super.addGroup(group);
×
75
        }
76
    }
77

78
    @Override
79
    public Group addGroup(final String name) throws PermissionDeniedException {
80
        Group group = getRealm().getGroup(name);
×
81

82
        //allow LDAP users to have groups from other realms
83
        if (group == null) {
×
84
            //if the group is not present in this realm, look externally
85
            group = getRealm().getExternalGroup(name);
×
86
        }
87
        return addGroup(group);
×
88
    }
89
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc