17.13. 添加映射程序
添加硬编码的角色 LDAP 映射器
-
在
组件
端点上运行create
命令。 -
将
providerType
属性设置为org.keycloak.storage.ldap.mappers.LDAPStorageMapper
。 -
将
parentId
属性设置为 LDAP 提供程序实例的 ID。 将
providerId
属性设置为hardcoded-ldap-role-mapper
。确保提供role
配置参数的值。例如:
$ kcadm.sh create components -r demorealm -s name=hardcoded-ldap-role-mapper -s providerId=hardcoded-ldap-role-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config.role=["realm-management.create-client"]'
添加 MS Active Directory 映射器
-
在
组件
端点上运行create
命令。 -
将
providerType
属性设置为org.keycloak.storage.ldap.mappers.LDAPStorageMapper
。 -
将
parentId
属性设置为 LDAP 提供程序实例的 ID。 将
providerId
属性设置为msad-user-account-control-mapper
。例如:
$ kcadm.sh create components -r demorealm -s name=msad-user-account-control-mapper -s providerId=msad-user-account-control-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea
添加用户属性 LDAP 映射器
-
在
组件
端点上运行create
命令。 -
将
providerType
属性设置为org.keycloak.storage.ldap.mappers.LDAPStorageMapper
。 -
将
parentId
属性设置为 LDAP 提供程序实例的 ID。 将
providerId
属性设置为user-attribute-ldap-mapper
。例如:
$ kcadm.sh create components -r demorealm -s name=user-attribute-ldap-mapper -s providerId=user-attribute-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."user.model.attribute"=["email"]' -s 'config."ldap.attribute"=["mail"]' -s 'config."read.only"=["false"]' -s 'config."always.read.value.from.ldap"=["false"]' -s 'config."is.mandatory.in.ldap"=["false"]'
添加组 LDAP 映射器
-
在
组件
端点上运行create
命令。 -
将
providerType
属性设置为org.keycloak.storage.ldap.mappers.LDAPStorageMapper
。 -
将
parentId
属性设置为 LDAP 提供程序实例的 ID。 将
providerId
属性设置为group-ldap-mapper
。例如:
$ kcadm.sh create components -r demorealm -s name=group-ldap-mapper -s providerId=group-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."groups.dn"=[]' -s 'config."group.name.ldap.attribute"=["cn"]' -s 'config."group.object.classes"=["groupOfNames"]' -s 'config."preserve.group.inheritance"=["true"]' -s 'config."membership.ldap.attribute"=["member"]' -s 'config."membership.attribute.type"=["DN"]' -s 'config."groups.ldap.filter"=[]' -s 'config.mode=["LDAP_ONLY"]' -s 'config."user.roles.retrieve.strategy"=["LOAD_GROUPS_BY_MEMBER_ATTRIBUTE"]' -s 'config."mapped.group.attributes"=["admins-group"]' -s 'config."drop.non.existing.groups.during.sync"=["false"]' -s 'config.roles=["admins"]' -s 'config.groups=["admins-group"]' -s 'config.group=[]' -s 'config.preserve=["true"]' -s 'config.membership=["member"]'
添加全名 LDAP 映射器
-
在
组件
端点上运行create
命令。 -
将
providerType
属性设置为org.keycloak.storage.ldap.mappers.LDAPStorageMapper
。 -
将
parentId
属性设置为 LDAP 提供程序实例的 ID。 将
providerId
属性设置为full-name-ldap-mapper
。例如:
$ kcadm.sh create components -r demorealm -s name=full-name-ldap-mapper -s providerId=full-name-ldap-mapper -s providerType=org.keycloak.storage.ldap.mappers.LDAPStorageMapper -s parentId=b7c63d02-b62a-4fc1-977c-947d6a09e1ea -s 'config."ldap.full.name.attribute"=["cn"]' -s 'config."read.only"=["false"]' -s 'config."write.only"=["true"]'