0

J'essaie d'obtenir un attribut personnalisé d'un groupe dans une règle de revendication personnalisée.Demander un groupe AD pour obtenir un attribut personnalisé

Le problème est que, quoi que je fasse, il interroge toujours l'utilisateur.

Voici comment ma règle de réclamation personnalisée ressemble:

// Règle pour obtenir tous les Groupes d'utilisateurs fait partie de:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] 
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/claims/Group"), query = ";tokenGroups;{0}", param = c.Value); 

// Règle chercher l'attribut url qui est sur le groupe .

c:[Type == "http://schemas.xmlsoap.org/claims/Group"] 
=> add(store = "Active Directory", types = ("http://temp/urlsOnGroup"), query = ";url;{0}", param = c.Value); 

Lorsque cela exécute, je vois une erreur dans le journal des événements sur le serveur AD FS qui indique qu'il essaie de trouver l'utilisateur avec GroupName.

Comment puis-je préciser cette règle afin que la dernière requête contre le nom du groupe au lieu de l'utilisateur

Message d'erreur:

Microsoft.IdentityServer.ClaimsPolicy.Language.PolicyEvaluationException: 
POLICY0018: Query ';url;{0}' to attribute store 'Active Directory' failed: 
'POLICY3826: User name 'GroupName' in LDAP query ';url;GroupName' is not in the 
required 'domain\user' format. POLICY3824: The LDAP query to the Active 
Directory attribute store must have three parts separated by semicolons. The 
first part is the LDAP query filter, the second part is a comma-separated list 
of LDAP attribute names, and the third part is the user name in 'domain\user' 
format.'. ---> 
Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.AttributeStoreQueryF 
ormatException: POLICY3826: User name 'GroupName' in LDAP query ';url;GroupName' 
is not in the required 'domain\user' format. POLICY3824: The LDAP query to the 
Active Directory attribute store must have three parts separated by semicolons. 
The first part is the LDAP query filter, the second part is a comma-separated 
list of LDAP attribute names, and the third part is the user name in 
'domain\user' format. 

Je veux éviter d'écrire Custom Attribute Store si possible. Je l'ai déjà fait mais j'essaye de trouver la manière indigène d'interroger les groupes de sécurité d'AD.

Répondre

0

Le format requis est par ex.

c: [Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/ou "] => numéro (magasin = "Active Directory", types = (" http://schemas.company.co.nz/claims/guid"), requête = « (ou = {0}); objectGuid; domain \ user ", param = c.Value);

Le "domaine" doit être le domaine pour ADFS. Le "utilisateur" peut être n'importe quoi.

La règle de la note est libre, donc il y a peut-être des erreurs de format mais vous avez l'idée!

+0

Merci pour la réponse. J'ai repensé le tout car l'interrogation sur l'attribut URL n'est pas possible. (C'est ce que le soutien MS m'a dit) – Asdfg