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

Innen: KIFÜ Wiki
(Új oldal, tartalma: „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 ...”)
 
47. sor: 47. sor:
 
''Attributumok, melyeket opcionálisan megadhatók''
 
''Attributumok, 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 a 3. 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>
 
*'''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 <code>true</code>
 
*'''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 <code>true</code>
  
58. sor: 58. sor:
  
 
</resolver:DataConnector>
 
</resolver:DataConnector>
</soruce>
+
</source>
 +
 
 +
 
 +
'''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'''
 +
 
 +
 
 +
 
 +
'''4/b. Konténer által vezérelt adatbáziskapcsolatok beállítása'''
 +
 
 +
 
 +
'''5. SQL lekérdezés definiálása'''
 +
 
 +
 
 +
<source lang="xml">
 +
<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>
 +
</source>
 +
 
 +
 
 +
'''6. Lekérdezési eredmény mezőneveinek és értékeinek felüldefiniálása'''
 +
 
 +
''Opcionális''
 +
 
 +
 
 +
'''7. Összegzés'''
 +
 
 +
 
 +
 
  
 
<!-- ========================================== -->   
 
<!-- ========================================== -->   

A lap 2008. október 14., 09:59-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.

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


Attributumok definiálása

Kapcsolódások adattárakhoz

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 $requestContext.principalName néven hivatkozhatunk, amely kiindulópontként szolgálhat lekérdezéseinkhez.

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 attributumokkal

Attributumok, melyeket kötelező megadni

  • id - egyedi azonosító, mellyel az attributum definicióknál elérhetjük a konnektort


Attributumok, 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


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


7. Összegzés




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" />