Shib2IdpAttrib

Az attribútum feloldást az  könyvtárban található   névre hallgató fájlban konfigurálhatjuk. A fájl szerkezetét tekintve négy részből áll.

Attribute-resolver alapbeállítások
Ezeket általában nem kell állítgatni, megfelelőek az alapbeállítások

Attribútumok definiálása
Az attribútum-definíciós szakasz igazából egyfajta egységesítése és előkészítése különböző forrásokból kinyerhető és később továbbítható adatoknak. Egy attribútum definiálásakor meg kell adni az alapként szolgáló  elemet három attribútumával:


 * id - az attribútum egyedi neve (nagyon fontos a jó névválasztás :) )
 * xsi:type - értéke lehet  vagy , de mivel a második nem szabványos, így törekedni kellene a   használatára
 * xmlns - alapértelmezett értéke:

Az  elemen belül meg kell adni az attribútum függőségét és az attribútum kódolási tulajdonságait

Attribútumok függősége

Egy attribútum függhet bármilyen más, az attribute-resolver.xml fájlban definiált elemtől, legyen az másik, vagy. Egy attributum több más elemtől is függhet. Az egyetlen attribútuma a forrás elem azonosítója.

Attribútumok kódolási tulajdonságai

Egy attribútumhoz többféle kódolási mechanizmust megadhatunk, melyek meghatározzák, hogy az attribútum kiadásakor milyen formátum(ok)ban lesz elérhető az aktuális attribútum értéke. Ha nem adunk meg kódolási mechanizmust, alapértelmezetten  alapon kódol. Egy kódolás megadása az  elem segítségével történik. A szükséges attribútumok


 * xsi:type - értéke a kódolás típusa
 * xmlns - alapértelmezett értéke:
 * name - a megadott típuson belüli azonosító
 * friendlyName - :)

Példa

Kapcsolódások adattárakhoz
Ahhoz, hogy megkaphassuk az egyes attribútumokhoz tartozó értéket, valamilyen adattárból (adatbázis, címtár) kell őket kinyernünk, hiszen ekkor még csak a sikeres azonosítás után tartunk, és csak a felhasználói nevet tudjuk, amivel az azonosítás megtörtént. Fontos, hogy az egyes kapcsolódások definiálásakor erre a felhasználói névre a   néven hivatkozhatunk, amely kiindulópontként szolgálhat lekérdezéseinkhez.

Kapcsolódás címtárhoz
1. Konnektor definiálása

Új adatbáziskapcsolat létrehozásához definiálnunk kell a konnektort  az alábbi attribútumokkal

Attribútumok, melyeket kötelező megadni
 * id - egyedi azonosító, mellyel az attribútum definicióknál elérhetjük a konnektort
 * ldapURL - a címtár elérési útja. Több is megadható vesszőkkel elválasztva, ekkor a megadott sorrend alapján addig próbálkozik, amíg valahol nem tud csatlakozni
 * baseDN - a címtárban való kereséshez tartozó BaseDN
 * principal - a címtár bind-olására használandó felhasználói név
 * principalCredential - a címtár bind-olására használandó felhasználói névhez tartozó jelszó

2. Az LDAP lekérdezés definiálása

Kapcsolódás relációs adatbázisokhoz
1. Konnektor definiálása

Új adatbáziskapcsolat létrehozásához definiálnunk kell a konnektort  az alábbi attribútumokkal

Attribútumok, melyeket kötelező megadni
 * id - egyedi azonosító, mellyel az attribútum definicióknál elérhetjük a konnektort

Attribútumok, melyeket opcionálisan megadhatók
 * readOnlyConnection - logikai érték, mely meghatározza, hogy az adatbázis csak olvasható, vagy esetleg írható is. Alapértelmezés szerint, azaz csak olvasható
 * queryUsesStoredProcedure - logikai érték, mely meghatározza, hogy az 5. lépésnél bemutatott módon definiált SQL lekérdezések használhatnak-e előre meghatározott eljárásokat. Alapértelmezés szerint nem, azaz
 * cacheResults - logikai érték, mely meghatározza, hogy a lekérdezés eredménye eltárolható-e a felhasználó munkamenetének lejártáig. Alapértelmezés szerint igen, azaz

2. Függőségek definiálása

Opcionális

3. Másodlagos adatkapcsolat definiálása

Opcionális

'''4/a. Idp által natívan vezérelt adatbáziskapcsolatok beállítása'''

Az Idp alkalmazás által vezérelt kapcsolathoz definiálnunk kell egy  elemet az alábbi (mind kötelezően megadandó) attribútumokkal


 * jdbcDriver - a JDBC meghajtó teljes elérési útvonala
 * jdbcURL - URL, melyen elérjük az adatbázist
 * jdbcUserName - adatbázis eléréséhez tartozó felhasználó
 * jdbcPassword - a fenti felhasználóhoz tartozó jelszó

Példa MySQL adatbázis eléréséhez

'''4/b. Konténer által vezérelt adatbáziskapcsolatok beállítása'''

5. SQL lekérdezés definiálása

6. Lekérdezési eredmény mezőneveinek és értékeinek felüldefiniálása

Opcionális

Alapértelmezés szerint a lekérdezések eredményét mezőnevenként és a hozzákapcsolódó értékként egy-egy attribútumba szervezi a konnektor, melyet lehetőségünk van felüldefiniálni, ehhez a  elemet használhatjuk az alábbi atttribútumokkal

Kötelező megadni


 * columnName - az lekérdezés eredményének mezője, mellyel kapcsolatban módosításokat hajtanánk végre

Az alábbiak közül minimum egyet kötelező megadni


 * attributeID - az attribútum azonosítója, melyhez hozzárendeljük az eredményt
 * type - az eredmény típusa. A következők közül választhatunk: BigDecimal, Boolean, Byte, ByteArray, Date, Double, Float, Integer, Long, Object, Short, String, Time, Timestamp, URL

7. Összegzés

Működő példa a fentieket összegezve

Principal Connectors
Ezt sem kell babrálni :)

ttribútum