„Shib2IdpAttrib” változatai közötti eltérés

Innen: KIFÜ Wiki
(Kapcsolódások adattárakhoz)
 
(3 közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva)
1. sor: 1. sor:
 
Az attribútum feloldást az <code>IDP_HOME/conf</code> könyvtárban található '''<code>attribute-resolver.xml</code>''' névre hallgató fájlban konfigurálhatjuk. A fájl szerkezetét tekintve '''négy részből''' áll.
 
Az attribútum feloldást az <code>IDP_HOME/conf</code> könyvtárban található '''<code>attribute-resolver.xml</code>''' névre hallgató fájlban konfigurálhatjuk. A fájl szerkezetét tekintve '''négy részből''' áll.
  
== Attributum resolver alapbeállítások ==
+
 
 +
== Attribute-resolver alapbeállítások ==
 
Ezeket általában nem kell állítgatni, megfelelőek az alapbeállítások
 
Ezeket általában nem kell állítgatni, megfelelőek az alapbeállítások
 
<source lang="xml">
 
<source lang="xml">
24. sor: 25. sor:
  
  
== Attributumok definiálása ==
+
== 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ó <code><AttributeDefinition></code> elemet három attribútumával:
 +
<source lang="xml">
 +
<resolver:AttributeDefinition id="cn" xsi:type="simple:Simple"
 +
        xmlns="urn:mace:shibboleth:2.0:resolver:ad">
 +
</source>
 +
 
 +
 
 +
*'''id''' - az attribútum egyedi neve (nagyon fontos a jó névválasztás :) )
 +
*'''xsi:type''' - értéke lehet <code>Simple</code> vagy <code>Scoped</code>, de mivel a második nem szabványos, így törekedni kellene a <code>Simple</code> használatára
 +
*'''xmlns''' - alapértelmezett értéke: <code>urn:mace:shibboleth:2.0:resolver:ad</code>
 +
 
 +
 
 +
Az <code><AttributeDefinition></code> 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 <code><AttributeDefinition></code>, vagy <code><DataConnector></code>. Egy attributum több más elemtől is függhet. Az egyetlen attribútuma a forrás elem azonosítója.
 +
 
 +
<code><resolver:Dependency ref="ID_DEPENDENCY1" /></code>
 +
 
 +
 
 +
 
 +
'''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 <code>SAML2String</code> alapon kódol. Egy kódolás megadása az <code><AttributeEncoder></code> 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: <code>urn:mace:shibboleth:2.0:resolver:encoder</code>
 +
*'''name''' - a megadott típuson belüli azonosító
 +
*'''friendlyName''' - :)
 +
 
 +
 
 +
''Példa''
 +
 
 +
<source lang="xml">
 +
<resolver:AttributeEncoder xsi:type="SAML2String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
 +
                          name="oid:1.3.6.1.4.1.5923.1.1.1.7"
 +
                          friendlyName="commonName" />
 +
 
 +
</source>
 +
 
 +
 
  
 
<!-- ========================================== -->
 
<!-- ========================================== -->
32. sor: 77. sor:
  
  
<!-- ... -->
+
<!-- ... -->
 +
 
 +
== 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 '''<code>$requestContext.principalName</code>''' 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 <code><DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"></code> 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ó
 +
 
 +
<source lang="xml">
 +
<resolver:DataConnector xsi:type="LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
 +
                        id="UNIQUE_ID"
 +
                        ldapURL="LDAP_URL"
 +
                        baseDN="BASE_DN"
 +
                        principal="PRINCIPAL_NAME"
 +
                        principalCredential="PRINCIPAL_CREDENTIAL">
 +
 
 +
 
 +
    <!-- Ide kerülnek majd az további konfigurációs beállítások a következő lépések alapján -->
 +
 
 +
</resolver:DataConnector>
 +
</source>
 +
 
 +
 
 +
'''2. Az LDAP lekérdezés definiálása'''
  
  
== Kapcsolódások adattárakhoz ==
+
<source lang="xml">
 +
<resolver:DataConnector xsi:type="LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
 +
                        id="UNIQUE_ID"
 +
                        ldapURL="LDAP_URL"
 +
                        baseDN="BASE_DN"
 +
                        principal="PRINCIPAL_NAME"
 +
                        principalCredential="PRINCIPAL_CREDENTIAL">
 +
 
 +
    <FilterTemplate>
 +
        <![CDATA[
 +
            (uid=${requestContext.principalName})
 +
        ]]>
 +
    </FilterTemplate>
 +
 
 +
    <!-- Ide kerülhet a lekérdezési eredmény mezőneveinek és értékeinek felüldefiniálása -->
 +
 
 +
</resolver:DataConnector>
 +
</source>
  
Ahhoz, hogy megkaphassuk az egyes attributumokhoz 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 '''<code>$requestContext.principalName</code>''' néven hivatkozhatunk, amely kiindulópontként szolgálhat lekérdezéseinkhez.
 
  
 
=== Kapcsolódás relációs adatbázisokhoz ===
 
=== Kapcsolódás relációs adatbázisokhoz ===
43. sor: 138. sor:
 
'''1. Konnektor definiálása'''
 
'''1. Konnektor definiálása'''
  
Új adatbáziskapcsolat létrehozásához definiálnunk kell a konnektort <code><DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"></code> az alábbi attributumokkal
+
Új adatbáziskapcsolat létrehozásához definiálnunk kell a konnektort <code><DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"></code> az alábbi attribútumokkal
  
''Attributumok, melyeket kötelező megadni''
+
''Attribútumok, melyeket kötelező megadni''
*'''id''' - egyedi azonosító, mellyel az attributum definicióknál elérhetjük a konnektort
+
*'''id''' - egyedi azonosító, mellyel az attribútum definicióknál elérhetjük a konnektort
  
  
''Attributumok, melyeket opcionálisan megadhatók''
+
''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 <code>true</code>, azaz csak olvasható
 
*'''readOnlyConnection''' - logikai érték, mely meghatározza, hogy az adatbázis csak olvasható, vagy esetleg írható is. Alapértelmezés szerint <code>true</code>, 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 <code>false</code>
 
*'''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 <code>false</code>
78. sor: 173. sor:
 
'''4/a. Idp által natívan vezérelt adatbáziskapcsolatok beállítása'''
 
'''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 <code><ApplicationManagedConnection></code> elemet az alábbi (mind kötelezően megadandó) attributumokkal
+
Az Idp alkalmazás által vezérelt kapcsolathoz definiálnunk kell egy <code><ApplicationManagedConnection></code> elemet az alábbi (mind kötelezően megadandó) attribútumokkal
  
 
*'''jdbcDriver''' - a JDBC meghajtó teljes elérési útvonala
 
*'''jdbcDriver''' - a JDBC meghajtó teljes elérési útvonala
135. sor: 230. sor:
 
''Opcionális''
 
''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 attributumba szervezi a konnektor, melyet lehetőségünk van felüldefiniálni, ehhez a <code><Column></code> elemet használhatjuk az alábbi atttributumokkal
+
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 <code><Column></code> elemet használhatjuk az alábbi atttribútumokkal
  
  
144. sor: 239. sor:
 
''Az alábbiak közül minimum egyet kötelező megadni''
 
''Az alábbiak közül minimum egyet kötelező megadni''
  
*'''attributeID''' - az attributum azonosítója, melyhez hozzárendeljük az eredményt
+
*'''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
 
*'''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
  
199. sor: 294. sor:
  
 
</source>
 
</source>
 
  
 
== Principal Connectors ==
 
== Principal Connectors ==
218. sor: 312. sor:
  
 
</source>
 
</source>
 +
ttribútum

A lap jelenlegi, 2010. január 25., 10:44-kori változata

Az attribútum feloldást az IDP_HOME/conf könyvtárban található attribute-resolver.xml 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

<AttributeResolver xmlns="urn:mace:shibboleth:2.0:resolver" xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pc="urn:mace:shibboleth:2.0:resolver:pc"
    xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
    xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:sec="urn:mace:shibboleth:2.0:security"
    xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver classpath:/schema/shibboleth-2.0-attribute-resolver.xsd
                        urn:mace:shibboleth:2.0:resolver:pc classpath:/schema/shibboleth-2.0-attribute-resolver-pc.xsd
                        urn:mace:shibboleth:2.0:resolver:ad classpath:/schema/shibboleth-2.0-attribute-resolver-ad.xsd
                        urn:mace:shibboleth:2.0:resolver:dc classpath:/schema/shibboleth-2.0-attribute-resolver-dc.xsd
                        urn:mace:shibboleth:2.0:attribute:encoder classpath:/schema/shibboleth-2.0-attribute-encoder.xsd
                        urn:mace:shibboleth:2.0:security classpath:/schema/shibboleth-2.0-security.xsd">


   <!-- ... -->


</AttributeResolver>


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ó <AttributeDefinition> elemet három attribútumával:

<resolver:AttributeDefinition id="cn" xsi:type="simple:Simple"
        xmlns="urn:mace:shibboleth:2.0:resolver:ad">


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


Az <AttributeDefinition> 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 <AttributeDefinition>, vagy <DataConnector>. Egy attributum több más elemtől is függhet. Az egyetlen attribútuma a forrás elem azonosítója.

<resolver:Dependency ref="ID_DEPENDENCY1" />


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 SAML2String alapon kódol. Egy kódolás megadása az <AttributeEncoder> elem segítségével történik. A szükséges attribútumok


Példa

<resolver:AttributeEncoder xsi:type="SAML2String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
                           name="oid:1.3.6.1.4.1.5923.1.1.1.7"
                           friendlyName="commonName" />




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 $requestContext.principalName 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 <DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"> 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ó
<resolver:DataConnector xsi:type="LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                        id="UNIQUE_ID"
                        ldapURL="LDAP_URL"
                        baseDN="BASE_DN"
                        principal="PRINCIPAL_NAME"
                        principalCredential="PRINCIPAL_CREDENTIAL">


     <!-- Ide kerülnek majd az további konfigurációs beállítások a következő lépések alapján -->

</resolver:DataConnector>


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


<resolver:DataConnector xsi:type="LDAPDirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                        id="UNIQUE_ID"
                        ldapURL="LDAP_URL"
                        baseDN="BASE_DN"
                        principal="PRINCIPAL_NAME"
                        principalCredential="PRINCIPAL_CREDENTIAL">

    <FilterTemplate>
        <![CDATA[
            (uid=${requestContext.principalName})
        ]]>
    </FilterTemplate>

     <!-- Ide kerülhet a lekérdezési eredmény mezőneveinek és értékeinek felüldefiniálása -->

</resolver:DataConnector>


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 <DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"> 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 true, 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 false
  • 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 true


<resolver:DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                        id="UNIQUE_ID">

     <!-- Ide kerülnek majd az további konfigurációs beállítások a következő lépések alapján -->

</resolver:DataConnector>


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 <ApplicationManagedConnection> 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

<resolver:DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                        id="UNIQUE_ID">

      <!-- Ide kerülhetnek a függőségek a másodlagos adatkapcsolatokkal kapcsolatos beállítások -->

     <ApplicationManagedConnection jdbcDriver="com.mysql.jdbc.Driver"
                                   jdbcURL="jdbc:mysql://localhost:3306/DATABASE_NAME?autoReconnect=true"
                                   jdbcUserName="DATABASE_USER"
                                   jdbcPassword="DATABASE_USER_PASSWORD" />

      <!-- Ide kerülnek majd az további konfigurációs beállítások a következő lépések alapján -->

</resolver:DataConnector>


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


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


<resolver:DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                        id="UNIQUE_ID">

     <!-- Ide kerülhetnek a függőségek a másodlagos adatkapcsolatokkal kapcsolatos beállítások -->

     <ContainerManagedConnection resourceName="RESOURCE_NAME" />

     <QueryTemplate>
          <![CDATA[
               SELECT * FROM PEOPLE WHERE userid='$requestContext.principalName'
          ]]>
     </QueryTemplate>

     <!-- Ide kerülhet a lekérdezési eredmény mezőneveinek és értékeinek felüldefiniálása -->

</resolver:DataConnector>


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 <Column> 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
<resolver:DataConnector xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc"
                        id="UNIQUE_ID">

     <!-- Ide kerülhetnek a függőségek a másodlagos adatkapcsolatokkal kapcsolatos beállítások ill. a kapcsolatvezérló beállítások -->


     <QueryTemplate>
          <![CDATA[
               SELECT * FROM people WHERE userid='$requestContext.principalName'
          ]]>
     </QueryTemplate>

     <Column columnName="firstname" attributeID="fname" />
     <Column columnName="personid" type="String" />

</resolver:DataConnector>


7. Összegzés

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

<!-- ========================================== -->  
<!-- Data Connectors -->  
<!-- ========================================== --> 

<resolver:DataConnector id="vhoMySQLsurname" xsi:type="RelationalDatabase" xmlns="urn:mace:shibboleth:2.0:resolver:dc">
      
        <ApplicationManagedConnection 
                jdbcDriver="com.mysql.jdbc.Driver" 
                jdbcURL="jdbc:mysql://localhost:3306/VHOtools?autoReconnect=true" 
                jdbcUserName="DATABASE_USER"
                jdbcPassword="DATABASE_USER_PASSWORD" />
        
        <QueryTemplate>
            <![CDATA[
                     SELECT uniqueID FROM vho_Users WHERE username = '$requestContext.principalName'
            ]]>
        </QueryTemplate>

        <Column columnName="uniqueID" attributeID="uid" />

</resolver:DataConnector>

Principal Connectors

Ezt sem kell babrálni :)

<!-- ========================================== -->  
<!-- Principal Connectors -->  
<!-- ========================================== --> 

<resolver:PrincipalConnector xsi:type="Transient" xmlns="urn:mace:shibboleth:2.0:resolver:pc" id="shibTransient"
                             nameIDFormat="urn:mace:shibboleth:1.0:nameIdentifier" />  
<resolver:PrincipalConnector xsi:type="Transient" xmlns="urn:mace:shibboleth:2.0:resolver:pc" id="saml1Unspec" 
                             nameIDFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" />  
<resolver:PrincipalConnector xsi:type="Transient" xmlns="urn:mace:shibboleth:2.0:resolver:pc" id="saml2Transient" 
                             nameIDFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" />

ttribútum