LDAP as data source for authorization
This continues the Wizard to create an Authorization Configuration Provider |
-
Enter the URL of your LDAP server at Provider URL.
-
Enter the appropriate parameters for your LDAP server in Optional Settings.
-
Click Finish.
Options:
-
Optional Settings
-
Search Base - Defines where in the directory the LDAP search starts.
-
CN - commonName.
-
L - localityName.
-
ST - stateOrProvinceName.
-
O - organizationName.
-
OU - organizationalUnitName.
-
C - countryName.
-
STREET - streetAddress.
-
DC - domainComponent.
-
UID - userid.
-
-
-
Suffix - Root, topmost data object of an LDAP data structure.
-
Security Protocol - Optional security protocol (e.g. SASL, SSL).
-
Security Authentication - Standard Security Protocol (none/simple/SASL)
-
Test Connection - Own access data. Only necessary to test the connection.
Result:
Project Management > Business Objects - A AuthorizationConfigurationProvider class is generated.
Example:
package com.company.example.business;
import com.xdev.security.authentication.CredentialsUsernamePassword;
import com.xdev.security.authentication.ldap.LDAPConfiguration;
import com.xdev.security.authentication.ldap.LDAPConfiguration.LDAPConfigurationBuilder;
import com.xdev.security.authorization.AuthorizationConfiguration;
import com.xdev.security.authorization.AuthorizationConfigurationProvider;
import com.xdev.security.authorization.ldap.LDAPAuthorizationConfigurationProvider;
public class ExampleAuthorizationConfigurationProvider implements AuthorizationConfigurationProvider {
public static ExampleAuthorizationConfigurationProvider New(CredentialsUsernamePassword credentials) {
return new ExampleAuthorizationConfigurationProvider(credentials);
}
private final CredentialsUsernamePassword credentials;
private AuthorizationConfiguration authorizationConfiguration;
private ExampleAuthorizationConfigurationProvider(CredentialsUsernamePassword credentials) {
this.credentials = credentials;
}
@Override
public AuthorizationConfiguration provideConfiguration() {
if (this.authorizationConfiguration == null) {
LDAPConfiguration ldapConfiguration = new LDAPConfigurationBuilder(
"ldap://192.168.86.8:389/dc=xdevsoftware,dc=local").searchBase("OU=SBSUsers,OU=Users,OU=MyBusiness")
.suffix("@XDEVSOFTWARE.LOCAL").securityAuthentication("simple").build();
this.authorizationConfiguration = new LDAPAuthorizationConfigurationProvider(ldapConfiguration,
this.credentials).provideConfiguration();
}
return this.authorizationConfiguration;
}
}