Solution:
The SQLFire product documentation describes the general settings for using an LDAP Directory Service, but Active directory requires specific parameters such as [auth-ldap-search-dn],[auth-ldap-search-filter].
In addition, Windows has the system environment variable %USERNAME% by default, so we do not recommend setting the auth-ldap-search-filter in a start script. Instead, we recommend setting this parameter in the sqlfire.properties file.
For example:
1) The SQLFire server start script in Linux environment:
sqlf server start -dir=./server -locators=192.168.145.10[10101] -client-port=1528 \r
-user="administrator" \
-password="adminpassword" \
-auth-provider=LDAP \
-server-auth-provider=LDAP \
-J-Dsqlfire.auth-ldap-server=ldap://samplehost.pivotal.local:389/ \
-J-Dsqlfire.auth-ldap-search-base=DC=pivotal,DC=local \
-J-Dsqlfire.auth-ldap-search-dn=CN=Administrator,CN=Users,DC=pivotal,DC=local \
-J-Dsqlfire.auth-ldap-search-pw=adminpassword \
-J-Dsqlfire.auth-ldap-search-filter="(&(objectClass=user)(sAMAccountName=%USERNAME%))" \
-J-Dsqlfire.debug.true=TraceAuthentication
2) Part of related sqlfire.peroperties setting in Windows environment:
sqlfire.peroperties:
sqlfire.auth-ldap-server=ldap://samplehost.pivotal.local:389/
sqlfire.auth-ldap-search-base=DC=pivotal,DC=local
sqlfire.auth-ldap-search-dn=CN=Administrator,CN=Users,DC=pivotal,DC=local
sqlfire.auth-ldap-search-pw=adminpassword
sqlfire.auth-ldap-search-filter=(&(objectClass=user)(sAMAccountName=%USERNAME%))