keycloak-federation
公開メンバ関数 | 全メンバ一覧
org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategy.GetRolesFromUserMemberOfAttribute クラス
org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategy.GetRolesFromUserMemberOfAttribute の継承関係図
Inheritance graph
org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategy.GetRolesFromUserMemberOfAttribute 連携図
Collaboration graph

公開メンバ関数

List< LDAPObjectgetLDAPRoleMappings (CommonLDAPGroupMapper roleOrGroupMapper, LDAPObject ldapUser, LDAPConfig ldapConfig)
 
void beforeUserLDAPQuery (CommonLDAPGroupMapper roleOrGroupMapper, LDAPQuery query)
 

詳解

Roles of user will be retrieved from "memberOf" attribute of our user

関数詳解

◆ beforeUserLDAPQuery()

void org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategy.GetRolesFromUserMemberOfAttribute.beforeUserLDAPQuery ( CommonLDAPGroupMapper  roleOrGroupMapper,
LDAPQuery  query 
)
inline

org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategyを実装しています。

113  {
114  String memberOfLdapAttrName = roleOrGroupMapper.getConfig().getMemberOfLdapAttribute();
115 
116  query.addReturningLdapAttribute(memberOfLdapAttrName);
117  query.addReturningReadOnlyLdapAttribute(memberOfLdapAttrName);
118  }

◆ getLDAPRoleMappings()

List<LDAPObject> org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategy.GetRolesFromUserMemberOfAttribute.getLDAPRoleMappings ( CommonLDAPGroupMapper  roleOrGroupMapper,
LDAPObject  ldapUser,
LDAPConfig  ldapConfig 
)
inline

org.keycloak.storage.ldap.mappers.membership.UserRolesRetrieveStrategyを実装しています。

84  {
85  String memberOfLdapAttrName = roleOrGroupMapper.getConfig().getMemberOfLdapAttribute();
86 
87  Set<String> memberOfValues = ldapUser.getAttributeAsSet(memberOfLdapAttrName);
88  if (memberOfValues == null) {
89  return Collections.emptyList();
90  }
91 
92  List<LDAPObject> roles = new LinkedList<>();
93  LDAPDn parentDn = LDAPDn.fromString(roleOrGroupMapper.getConfig().getLDAPGroupsDn());
94 
95  for (String roleDn : memberOfValues) {
96  LDAPDn roleDN = LDAPDn.fromString(roleDn);
97  if (roleDN.isDescendantOf(parentDn)) {
98  LDAPObject role = new LDAPObject();
99  role.setDn(roleDN);
100 
101  String firstDN = roleDN.getFirstRdnAttrName();
102  if (firstDN.equalsIgnoreCase(roleOrGroupMapper.getConfig().getLDAPGroupNameLdapAttribute())) {
103  role.setRdnAttributeName(firstDN);
104  role.setSingleAttribute(firstDN, roleDN.getFirstRdnAttrValue());
105  roles.add(role);
106  }
107  }
108  }
109  return roles;
110  }

このクラス詳解は次のファイルから抽出されました: