mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-18 18:18:23 -05:00
MM-62704: Add Custom Profile Attributes to the LDAP synchronization process (#30443)
This commit is contained in:
parent
88d5ad06b4
commit
f54acdf100
8 changed files with 203 additions and 4 deletions
2
.github/workflows/esrupgrade-common.yml
vendored
2
.github/workflows/esrupgrade-common.yml
vendored
|
|
@ -32,6 +32,7 @@ jobs:
|
|||
run: |
|
||||
cd server/build
|
||||
docker compose --no-ansi run --rm start_dependencies
|
||||
cat ../tests/custom-schema-cpa.ldif | docker compose --ansi never exec -T openldap bash -c 'ldapadd -Y EXTERNAL -H ldapi:/// -w mostest || true';
|
||||
cat ../tests/test-data.ldif | docker compose --no-ansi exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest';
|
||||
docker compose --no-ansi exec -T minio sh -c 'mkdir -p /data/mattermost-test';
|
||||
docker compose --no-ansi ps
|
||||
|
|
@ -103,6 +104,7 @@ jobs:
|
|||
run: |
|
||||
cd server/build
|
||||
docker compose --no-ansi run --rm start_dependencies
|
||||
cat ../tests/custom-schema-cpa.ldif | docker compose --ansi never exec -T openldap bash -c 'ldapadd -Y EXTERNAL -H ldapi:/// -w mostest || true';
|
||||
cat ../tests/test-data.ldif | docker compose --no-ansi exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest';
|
||||
docker compose --no-ansi exec -T minio sh -c 'mkdir -p /data/mattermost-test';
|
||||
docker compose --no-ansi ps
|
||||
|
|
|
|||
1
.github/workflows/mmctl-test-template.yml
vendored
1
.github/workflows/mmctl-test-template.yml
vendored
|
|
@ -49,6 +49,7 @@ jobs:
|
|||
run: |
|
||||
cd server/build
|
||||
docker compose --ansi never run --rm start_dependencies
|
||||
cat ../tests/custom-schema-cpa.ldif | docker compose --ansi never exec -T openldap bash -c 'ldapadd -Y EXTERNAL -H ldapi:/// -w mostest || true';
|
||||
cat ../tests/test-data.ldif | docker compose --ansi never exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest';
|
||||
docker compose --ansi never exec -T minio sh -c 'mkdir -p /data/mattermost-test';
|
||||
docker compose --ansi never ps
|
||||
|
|
|
|||
1
.github/workflows/server-test-template.yml
vendored
1
.github/workflows/server-test-template.yml
vendored
|
|
@ -41,6 +41,7 @@ jobs:
|
|||
run: |
|
||||
cd server/build
|
||||
docker compose --ansi never run --rm start_dependencies
|
||||
cat ../tests/custom-schema-cpa.ldif | docker compose --ansi never exec -T openldap bash -c 'ldapadd -Y EXTERNAL -H ldapi:/// -w mostest || true';
|
||||
cat ../tests/test-data.ldif | docker compose --ansi never exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest';
|
||||
docker compose --ansi never exec -T minio sh -c 'mkdir -p /data/mattermost-test';
|
||||
docker compose --ansi never ps
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ for SERVICE in $ENABLED_DOCKER_SERVICES; do
|
|||
continue
|
||||
fi
|
||||
mme2e_log "Configuring the $SERVICE container"
|
||||
${MME2E_DC_SERVER} exec -T -- openldap bash -c 'ldapadd -Y EXTERNAL -H ldapi:/// -w mostest || true' < ../../server/tests/custom-schema-cpa.ldif
|
||||
${MME2E_DC_SERVER} exec -T -- openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest' <../../server/tests/test-data.ldif
|
||||
;;
|
||||
minio)
|
||||
|
|
|
|||
|
|
@ -224,7 +224,8 @@ else
|
|||
docker compose rm start_dependencies
|
||||
$(GO) run ./build/docker-compose-generator/main.go $(ENABLED_DOCKER_SERVICES) | docker compose -f docker-compose.makefile.yml -f /dev/stdin $(DOCKER_COMPOSE_OVERRIDE) run -T --rm start_dependencies
|
||||
ifneq (,$(findstring openldap,$(ENABLED_DOCKER_SERVICES)))
|
||||
cat tests/${LDAP_DATA}-data.ldif | docker compose -f docker-compose.makefile.yml $(DOCKER_COMPOSE_OVERRIDE) exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest || true';
|
||||
cat tests/custom-schema-cpa.ldif | docker compose -f docker-compose.makefile.yml ${DOCKER_COMPOSE_OVERRIDE} exec -T openldap bash -c 'ldapadd -Y EXTERNAL -H ldapi:/// -w mostest || true';
|
||||
cat tests/${LDAP_DATA}-data.ldif | docker compose -f docker-compose.makefile.yml ${DOCKER_COMPOSE_OVERRIDE} exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest || true';
|
||||
endif
|
||||
ifneq (,$(findstring mysql-read-replica,$(ENABLED_DOCKER_SERVICES)))
|
||||
./scripts/replica-mysql-config.sh
|
||||
|
|
|
|||
|
|
@ -8036,6 +8036,10 @@
|
|||
"id": "ent.ldap.app_error",
|
||||
"translation": "ldap interface was nil."
|
||||
},
|
||||
{
|
||||
"id": "ent.ldap.cpa_field_mapping.list_error",
|
||||
"translation": "Failed to retrieve CPA fields"
|
||||
},
|
||||
{
|
||||
"id": "ent.ldap.create_fail",
|
||||
"translation": "Unable to create LDAP user."
|
||||
|
|
@ -8124,6 +8128,14 @@
|
|||
"id": "ent.ldap.syncronize.search_failure_size_exceeded.app_error",
|
||||
"translation": "Size Limit Exceeded. Try increasing your Maximum page size setting. Check out https://docs.mattermost.com/onboard/ad-ldap.html#i-see-the-log-error-ldap-result-code-4-size-limit-exceeded for more details."
|
||||
},
|
||||
{
|
||||
"id": "ent.ldap.update_cpa.empty_attribute",
|
||||
"translation": "Empty LDAP attribute value"
|
||||
},
|
||||
{
|
||||
"id": "ent.ldap.update_cpa.multiple_errors",
|
||||
"translation": "Error(s) patching CPA value"
|
||||
},
|
||||
{
|
||||
"id": "ent.ldap.validate_admin_filter.app_error",
|
||||
"translation": "Invalid AD/LDAP Admin Filter."
|
||||
|
|
|
|||
55
server/tests/custom-schema-cpa.ldif
Normal file
55
server/tests/custom-schema-cpa.ldif
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
dn: cn=schema,cn=config
|
||||
changetype: modify
|
||||
add: olcAttributeTypes
|
||||
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.101
|
||||
NAME 'textCustomAttribute'
|
||||
DESC 'A text custom attribute for inetOrgPerson'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SUBSTR caseIgnoreSubstringsMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
||||
-
|
||||
add: olcAttributeTypes
|
||||
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.104
|
||||
NAME 'dateCustomAttribute'
|
||||
DESC 'A date attribute'
|
||||
EQUALITY generalizedTimeMatch
|
||||
ORDERING generalizedTimeOrderingMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
|
||||
-
|
||||
add: olcAttributeTypes
|
||||
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.105
|
||||
NAME 'selectCustomAttribute'
|
||||
DESC 'A selection attribute with values: option1, option2, option3'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
||||
SINGLE-VALUE )
|
||||
-
|
||||
add: olcAttributeTypes
|
||||
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.106
|
||||
NAME 'multiSelectCustomAttribute'
|
||||
DESC 'A multi-selection attribute with values: choice1, choice2, choice3, choice4'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
||||
-
|
||||
add: olcAttributeTypes
|
||||
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.107
|
||||
NAME 'userReferenceCustomAttribute'
|
||||
DESC 'A reference to a single user'
|
||||
EQUALITY distinguishedNameMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
|
||||
SINGLE-VALUE )
|
||||
-
|
||||
add: olcAttributeTypes
|
||||
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.108
|
||||
NAME 'multiUserReferenceCustomAttribute'
|
||||
DESC 'References to multiple users'
|
||||
EQUALITY distinguishedNameMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
|
||||
-
|
||||
add: olcObjectClasses
|
||||
olcObjectClasses: ( 1.3.6.1.4.1.4203.666.1.103
|
||||
NAME 'customInetOrgPerson'
|
||||
DESC 'inetOrgPerson with custom attributes'
|
||||
SUP top
|
||||
AUXILIARY
|
||||
MAY ( textCustomAttribute $ dateCustomAttribute $ selectCustomAttribute $ multiSelectCustomAttribute $ userReferenceCustomAttribute $ multiUserReferenceCustomAttribute))
|
||||
|
|
@ -6,143 +6,269 @@ objectclass: organizationalunit
|
|||
dn: uid=test.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Test1
|
||||
title: Test1 Title
|
||||
mail: success+testone@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Test User 1
|
||||
dateCustomAttribute: 20240217120000Z
|
||||
selectCustomAttribute: option1
|
||||
multiSelectCustomAttribute: choice1
|
||||
multiSelectCustomAttribute: choice2
|
||||
userReferenceCustomAttribute: uid=test.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=test.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=test.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=test.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Test2
|
||||
title: Test2 Title
|
||||
mail: success+testtwo@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Test User 2
|
||||
dateCustomAttribute: 20240217130000Z
|
||||
selectCustomAttribute: option2
|
||||
multiSelectCustomAttribute: choice2
|
||||
multiSelectCustomAttribute: choice3
|
||||
userReferenceCustomAttribute: uid=test.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=test.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=test.five,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=test.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Test3
|
||||
title: Test3 Title
|
||||
mail: success+testthree@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Test User 3
|
||||
dateCustomAttribute: 20240217140000Z
|
||||
selectCustomAttribute: option3
|
||||
multiSelectCustomAttribute: choice3
|
||||
multiSelectCustomAttribute: choice4
|
||||
userReferenceCustomAttribute: uid=test.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=test.five,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev-ops.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=test.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Test4
|
||||
title: Test4 Title
|
||||
mail: success+testfour@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Test User 4
|
||||
dateCustomAttribute: 20240217150000Z
|
||||
selectCustomAttribute: option1
|
||||
multiSelectCustomAttribute: choice4
|
||||
multiSelectCustomAttribute: choice2
|
||||
userReferenceCustomAttribute: uid=test.five,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev-ops.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=test.five,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Test5
|
||||
# No title to allow testing that path
|
||||
mail: success+testfive@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
|
||||
textCustomAttribute: Custom Value for Test User 5
|
||||
dateCustomAttribute: 20240217160000Z
|
||||
selectCustomAttribute: option2
|
||||
multiSelectCustomAttribute: choice1
|
||||
multiSelectCustomAttribute: choice2
|
||||
userReferenceCustomAttribute: uid=dev-ops.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
# developers
|
||||
dn: uid=dev-ops.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Dev3
|
||||
title: DevOps Engineer
|
||||
mail: success+devopsone@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for DevOps 1
|
||||
dateCustomAttribute: 20240217170000Z
|
||||
selectCustomAttribute: option3
|
||||
multiSelectCustomAttribute: choice2
|
||||
multiSelectCustomAttribute: choice3
|
||||
userReferenceCustomAttribute: uid=dev.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=dev.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Dev1
|
||||
title: Senior Software Design Engineer
|
||||
mail: success+devone@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Dev 1
|
||||
dateCustomAttribute: 20240217180000Z
|
||||
selectCustomAttribute: option1
|
||||
multiSelectCustomAttribute: choice3
|
||||
multiSelectCustomAttribute: choice4
|
||||
userReferenceCustomAttribute: uid=dev.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=dev.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Dev2
|
||||
title: Software Design Engineer ||
|
||||
mail: success+devtwo@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Dev 2
|
||||
dateCustomAttribute: 20240217190000Z
|
||||
selectCustomAttribute: option2
|
||||
multiSelectCustomAttribute: choice4
|
||||
multiSelectCustomAttribute: choice1
|
||||
userReferenceCustomAttribute: uid=dev.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=dev.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=exec.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=dev.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Dev3
|
||||
title: Software Design Engineer
|
||||
mail: success+devthree@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Dev 3
|
||||
dateCustomAttribute: 20240217200000Z
|
||||
selectCustomAttribute: option3
|
||||
multiSelectCustomAttribute: choice1
|
||||
multiSelectCustomAttribute: choice2
|
||||
userReferenceCustomAttribute: uid=dev.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=exec.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=exec.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=dev.four,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Dev4
|
||||
title: Staff Software Design Engineer
|
||||
mail: success+devfour@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
|
||||
textCustomAttribute: Custom Value for Dev 4
|
||||
dateCustomAttribute: 20240217210000Z
|
||||
selectCustomAttribute: option1
|
||||
multiSelectCustomAttribute: choice2
|
||||
multiSelectCustomAttribute: choice3
|
||||
userReferenceCustomAttribute: uid=exec.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=exec.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=board.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
# executive
|
||||
dn: uid=exec.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Exec1
|
||||
title: CEO
|
||||
mail: success+execone@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Exec 1
|
||||
dateCustomAttribute: 20240217220000Z
|
||||
selectCustomAttribute: option2
|
||||
multiSelectCustomAttribute: choice3
|
||||
multiSelectCustomAttribute: choice4
|
||||
userReferenceCustomAttribute: uid=exec.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=board.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=board.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=exec.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Exec2
|
||||
title: CTO
|
||||
mail: success+exectwo@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
|
||||
textCustomAttribute: Custom Value for Exec 2
|
||||
dateCustomAttribute: 20240217230000Z
|
||||
selectCustomAttribute: option3
|
||||
multiSelectCustomAttribute: choice4
|
||||
multiSelectCustomAttribute: choice1
|
||||
userReferenceCustomAttribute: uid=board.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=board.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=board.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
# board of directors
|
||||
dn: uid=board.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Board1
|
||||
title: Director
|
||||
mail: success+boardone@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Board 1
|
||||
dateCustomAttribute: 20240218000000Z
|
||||
selectCustomAttribute: option1
|
||||
multiSelectCustomAttribute: choice1
|
||||
multiSelectCustomAttribute: choice2
|
||||
userReferenceCustomAttribute: uid=board.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=board.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=firstloginuser.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=board.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Board2
|
||||
title: Inside Director
|
||||
mail: success+boardtwo@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Board 2
|
||||
dateCustomAttribute: 20240218010000Z
|
||||
selectCustomAttribute: option2
|
||||
multiSelectCustomAttribute: choice2
|
||||
multiSelectCustomAttribute: choice3
|
||||
userReferenceCustomAttribute: uid=board.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=firstloginuser.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
multiUserReferenceCustomAttribute: uid=firstloginuser.two,ou=testusers,dc=mm,dc=test,dc=com
|
||||
|
||||
dn: uid=board.three,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
objectclass: iNetOrgPerson
|
||||
objectclass: customInetOrgPerson
|
||||
sn: User
|
||||
cn: Board3
|
||||
title: Outside Director
|
||||
mail: success+boardthree@simulator.amazonses.com
|
||||
userPassword: Password1
|
||||
textCustomAttribute: Custom Value for Board 3
|
||||
dateCustomAttribute: 20240218020000Z
|
||||
|
||||
dn: uid=firstloginuser.one,ou=testusers,dc=mm,dc=test,dc=com
|
||||
changetype: add
|
||||
|
|
|
|||
Loading…
Reference in a new issue