mirror of
https://github.com/YunoHost-Apps/kanboard_ynh.git
synced 2024-09-03 19:36:17 +02:00
221 lines
5.9 KiB
Markdown
221 lines
5.9 KiB
Markdown
LDAP Configuration Examples
|
|
===========================
|
|
|
|
Microsoft Active Directory
|
|
--------------------------
|
|
|
|
- User authentication
|
|
- Download the user profile picture from Active Directory
|
|
- Set user language from LDAP attribute
|
|
- Kanboard roles are mapped to Active Directory groups
|
|
- LDAP group providers is enabled
|
|
|
|
```php
|
|
define('LDAP_AUTH', true);
|
|
|
|
define('LDAP_SERVER', 'my-ldap-server');
|
|
define('LDAP_PORT', 389);
|
|
|
|
define('LDAP_BIND_TYPE', 'proxy');
|
|
define('LDAP_USERNAME', 'administrator@kanboard.local');
|
|
define('LDAP_PASSWORD', 'secret');
|
|
|
|
define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
|
define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))');
|
|
|
|
define('LDAP_USER_ATTRIBUTE_USERNAME', 'samaccountname');
|
|
define('LDAP_USER_ATTRIBUTE_FULLNAME', 'displayname');
|
|
define('LDAP_USER_ATTRIBUTE_PHOTO', 'jpegPhoto');
|
|
define('LDAP_USER_ATTRIBUTE_LANGUAGE', 'preferredLanguage');
|
|
|
|
define('LDAP_GROUP_ADMIN_DN', 'CN=Kanboard Admins,CN=Users,DC=kanboard,DC=local');
|
|
define('LDAP_GROUP_MANAGER_DN', 'CN=Kanboard Managers,CN=Users,DC=kanboard,DC=local');
|
|
|
|
define('LDAP_GROUP_PROVIDER', true);
|
|
define('LDAP_GROUP_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
|
define('LDAP_GROUP_FILTER', '(&(objectClass=group)(sAMAccountName=%s*))');
|
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
|
```
|
|
|
|
OpenLDAP with memberOf overlay
|
|
------------------------------
|
|
|
|
User LDIF example:
|
|
|
|
```
|
|
dn: uid=manager,ou=Users,dc=kanboard,dc=local
|
|
objectClass: top
|
|
objectClass: person
|
|
objectClass: organizationalPerson
|
|
objectClass: inetOrgPerson
|
|
uid: manager
|
|
sn: Lastname
|
|
givenName: Firstname
|
|
cn: Kanboard Manager
|
|
displayName: Kanboard Manager
|
|
mail: manager@kanboard.local
|
|
userPassword: password
|
|
memberOf: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
|
```
|
|
|
|
Group LDIF example:
|
|
|
|
```
|
|
dn: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
|
objectClass: top
|
|
objectClass: groupOfNames
|
|
cn: Kanboard Managers
|
|
member: uid=manager,ou=Users,dc=kanboard,dc=local
|
|
```
|
|
|
|
Kanboard Configuration:
|
|
|
|
- User authentication
|
|
- Kanboard roles are mapped to LDAP groups
|
|
- LDAP group providers is enabled
|
|
|
|
```php
|
|
define('LDAP_AUTH', true);
|
|
|
|
define('LDAP_SERVER', 'my-ldap-server');
|
|
define('LDAP_PORT', 389);
|
|
|
|
define('LDAP_BIND_TYPE', 'proxy');
|
|
define('LDAP_USERNAME', 'cn=admin,DC=kanboard,DC=local');
|
|
define('LDAP_PASSWORD', 'password');
|
|
|
|
define('LDAP_USER_BASE_DN', 'OU=Users,DC=kanboard,DC=local');
|
|
define('LDAP_USER_FILTER', 'uid=%s');
|
|
|
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
|
|
|
define('LDAP_GROUP_PROVIDER', true);
|
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
|
define('LDAP_GROUP_FILTER', '(&(objectClass=groupOfNames)(cn=%s*))');
|
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
|
```
|
|
|
|
OpenLDAP with Posix groups (memberUid)
|
|
--------------------------------------
|
|
|
|
User LDIF example:
|
|
|
|
```
|
|
dn: uid=manager,ou=Users,dc=kanboard,dc=local
|
|
objectClass: inetOrgPerson
|
|
objectClass: posixAccount
|
|
objectClass: shadowAccount
|
|
uid: manager
|
|
sn: Lastname
|
|
givenName: Firstname
|
|
cn: Kanboard Manager
|
|
displayName: Kanboard Manager
|
|
uidNumber: 10001
|
|
gidNumber: 8000
|
|
userPassword: password
|
|
homeDirectory: /home/manager
|
|
mail: manager@kanboard.local
|
|
```
|
|
|
|
Group LDIF example:
|
|
|
|
```
|
|
dn: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
|
objectClass: posixGroup
|
|
cn: Kanboard Managers
|
|
gidNumber: 5001
|
|
memberUid: manager
|
|
```
|
|
|
|
Kanboard Configuration:
|
|
|
|
- User authentication
|
|
- Kanboard roles are mapped to LDAP groups
|
|
- LDAP group providers is enabled
|
|
|
|
```php
|
|
define('LDAP_AUTH', true);
|
|
|
|
define('LDAP_SERVER', 'my-ldap-server');
|
|
define('LDAP_PORT', 389);
|
|
|
|
define('LDAP_BIND_TYPE', 'proxy');
|
|
define('LDAP_USERNAME', 'cn=admin,DC=kanboard,DC=local');
|
|
define('LDAP_PASSWORD', 'password');
|
|
|
|
define('LDAP_USER_BASE_DN', 'OU=Users,DC=kanboard,DC=local');
|
|
define('LDAP_USER_FILTER', 'uid=%s');
|
|
|
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
|
|
|
// This filter is used to find the groups of our user
|
|
define('LDAP_GROUP_USER_FILTER', '(&(objectClass=posixGroup)(memberUid=%s))');
|
|
|
|
define('LDAP_GROUP_PROVIDER', true);
|
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
|
define('LDAP_GROUP_FILTER', '(&(objectClass=posixGroup)(cn=%s*))');
|
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
|
```
|
|
|
|
OpenLDAP with groupOfNames
|
|
--------------------------
|
|
|
|
User LDIF example:
|
|
|
|
```
|
|
dn: uid=manager,ou=Users,dc=kanboard,dc=local
|
|
objectClass: top
|
|
objectClass: person
|
|
objectClass: organizationalPerson
|
|
objectClass: inetOrgPerson
|
|
uid: manager
|
|
sn: Lastname
|
|
givenName: Firstname
|
|
cn: Kanboard Manager
|
|
displayName: Kanboard Manager
|
|
mail: manager@kanboard.local
|
|
userPassword: password
|
|
```
|
|
|
|
Group LDIF example:
|
|
|
|
```
|
|
dn: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
|
objectClass: top
|
|
objectClass: groupOfNames
|
|
cn: Kanboard Managers
|
|
member: uid=manager,ou=Users,dc=kanboard,dc=local
|
|
```
|
|
|
|
Kanboard Configuration:
|
|
|
|
- User authentication
|
|
- Kanboard roles are mapped to LDAP groups
|
|
- LDAP group providers is enabled
|
|
|
|
```php
|
|
define('LDAP_AUTH', true);
|
|
|
|
define('LDAP_SERVER', 'my-ldap-server');
|
|
define('LDAP_PORT', 389);
|
|
|
|
define('LDAP_BIND_TYPE', 'proxy');
|
|
define('LDAP_USERNAME', 'cn=admin,DC=kanboard,DC=local');
|
|
define('LDAP_PASSWORD', 'password');
|
|
|
|
define('LDAP_USER_BASE_DN', 'OU=Users,DC=kanboard,DC=local');
|
|
define('LDAP_USER_FILTER', 'uid=%s');
|
|
|
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
|
|
|
// This filter is used to find the groups of our user
|
|
define('LDAP_GROUP_USER_FILTER', '(&(objectClass=groupOfNames)(member=uid=%s,ou=Users,dc=kanboard,dc=local))');
|
|
|
|
define('LDAP_GROUP_PROVIDER', true);
|
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
|
define('LDAP_GROUP_FILTER', '(&(objectClass=groupOfNames)(cn=%s*))');
|
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
|
```
|