Feature #18085
Updated by Carsten Rose 4 months ago
h2. Request * Im IK Tool werden beim Antrag Email-Adressen von weiteren verantwortlichen Personen erfasst. * Es kommt regelmaessig vor das die Adressen einen Typo enthalten. * Ziel * Bei der Eingabe TypeAhead vom UZH Adressebook anbieten. * Bei 'Focus Lost' von Emailadressen pruefen und markieren ok/fail. wird deren Syntax geprueft bereits geprüft. h2. Vorschlag * Wird erkannt dass die Email Adresse eine @uzh.ch@ Adresse ist, kann ein LDAP Lookup gemacht werden um zu ueberpruefen ob die Adresse im UZH AD vorhanden ist. * Ist die Adresse bekannt, wird sie gruen, sonst gelb (Tooltip: Address not found in UZH adress book). gelb. * Non uzh.ch Adressen werden so nicht geprueft. * Option 'internal check': Option: es koennen Tabellen, Spalten spezifiziert werden (Tool intern),ob die Adresse bereits benutzt wurde. Falls gefunden wird sie ebenfalls gruen. * Der Check gegen das Adressbuch muss erst gemacht werden bei Focus Lost. * Der Check sollte vom Server gestartet werden: Zugriff auf den AD ist beschraenkt (Firewall, Credentials) * Wir brauchen einen neuen API Call der SIP protected ist. * Beim Laden des Forms ist der Check vermutlich nicht so wichtig, kann erstmal weggelassen werden. * Die Credentials sollten in der zentrallen QFQ config Datei sein (wie UZH webpass) * Die LDAP Abfrage sollte zentral in der QFQ Extension Config konfigurierbar sein, pro FE kann das Setting uberschrieben werden. * Option: mehrere Emailadressen in einem FE-Input Elemente erfassen (space, komma separiert) und individuell pruefen & markieren. EmailAdressbookVerify= EmailAdressbookTypeahead= h2. Check Beispiel via Commandline: <pre> $ ldapsearch -LLL -x -H "ldap://iduzhz2dc01.d.uzh.ch ldap://iduzhz2dc02.d.uzh.ch" ldaps://iduzhz2dc01.d.uzh.ch -D srv-math-sync@d.uzh.ch -w <password> -b "DC=d,DC=uzh,DC=ch" -D "srv-math-sync@d.uzh.ch" -W "proxyAddresses=smtp:carsten.rose@math.uzh.ch" proxyAddresses Enter LDAP Password: dn: CN=Rose Carsten (crose),OU=Users,OU=Users UZH,DC=d,DC=uzh,DC=ch "OU=Users,OU=Users UZH,DC=d,DC=uzh,DC=ch" "<filter>" proxyAddresses: smtp:crose@access.uzh.ch proxyAddresses: X500:/o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOH F23SPDLT)/cn=Recipients/cn=d99ada2cb78c406ea039453c26f86dab-Rose Carste proxyAddresses: smtp:caro@math.uzh.ch proxyAddresses: smtp:m200143@access.uzh.ch proxyAddresses: smtp:carsten.rose@uzh.ch proxyAddresses: smtp:crose@uzh.mail.onmicrosoft.com proxyAddresses: SMTP:carsten.rose@math.uzh.ch # refldap://DomainDnsZones.d.uzh.ch/DC=DomainDnsZones,DC=d,DC=uzh,DC=ch # refldap://ForestDnsZones.d.uzh.ch/DC=ForestDnsZones,DC=d,DC=uzh,DC=ch # refldap://d.uzh.ch/CN=Configuration,DC=d,DC=uzh,DC=ch </pre> * Bei der Abfrage koennen mehrere LDAP Server angegeben werden. * Liefert die Abfrage min. einen Treffer zurueck, ist die Adresse ok. * Die obige Abfrage geht auf 'proxyAddresses', da dort scheinbar auch die weiteren Adressen angegeben sind. * Bei 'proxyAddresses' muss ein 'smtp:' vorangestellt werden fuer einen 100% match