J'utilise l'authentification LDAP dans spring-security. Pour une raison quelconque, je n'ai pas de serveur LDAP et j'ai configuré mon spring-security.xml
pour utiliser le fichier LDIF.Comment ajouter objectclass et attribut personnalisé au fichier LDIF?
J'ai besoin d'ajouter un attribut personnalisé, appelé type
pour les utilisateurs. J'ai donc créé un objectclass
et un attributetypes
comme mentionné here.
Le fichier LDIF ressemble à:
dn: cn=subschemasubentry
changetype: modify
add: attributetypes
attributetypes: (1.2.3.4.5.6.7 NAME 'type' DESC 'New attribute definition'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15')
dn: cn=subschemasubentry
changetype: modify
add: objectClasses
objectClasses: (1.2.3.4.56789.1.0.200 NAME 'testUser'
SUP (inetOrgPerson) STRUCTURAL
MUST cn
MAY type)
dn: ou=users,dc=springframework,dc=org
objectclass: top
objectclass: organizationalUnit
ou: users
dn: uid=testuser1,ou=users,dc=springframework,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: testUser
mail: [email protected]
cn: Some Name
sn: someName
uid: someId
type: someType
userPassword: pass1
Cependant, cela ne fonctionne pas avec NameNotFoundException
, lorsque je tente d'utiliser un appel REST (protégé par spring-security
) avec l'erreur:
LDAP: error code 32 - NO_SUCH_OBJECT:
...
...
Attempt to search under non-existant entry: ou=users,dc=springframework,dc=org];
nested exception is javax.naming.NameNotFoundException:
Si je supprimez l'attribut personnalisé et la classe d'objet personnalisée, et modifiez les données utilisateur en objectclass: inetOrgPerson
, cela fonctionne correctement.
Comment puis-je ajouter le objectclass
et les attributs puis?
Avez-vous enfin trouvé une solution? – Aure77