„Shib2PersistentId” változatai közötti eltérés
(→Táblaszerkezet) |
a (→Perzisztens attribútum feloldása) |
||
33. sor: | 33. sor: | ||
<resolver:Dependency ref="myLDAP" /> | <resolver:Dependency ref="myLDAP" /> | ||
<ApplicationManagedConnection jdbcDriver="com.mysql.jdbc.Driver" | <ApplicationManagedConnection jdbcDriver="com.mysql.jdbc.Driver" | ||
− | jdbcURL="" | + | jdbcURL="jdbc:mysql://localhost/installfest" |
− | jdbcUserName="" | + | jdbcUserName="root" |
jdbcPassword="" /> | jdbcPassword="" /> | ||
</resolver:DataConnector> | </resolver:DataConnector> |
A lap 2009. február 12., 17:48-kori változata
Tartalomjegyzék
[elrejtés]Perzisztens azonosító használata Shibboleth2 IdP esetén
Táblaszerkezet
MySQL használata esetén (ne felejtsük el a mysql jdbc connectort a tomcat lib/ könyvtárába másolni):
CREATE TABLE `shibpid` (
`localEntity` varchar(200) NOT NULL,
`peerEntity` varchar(200) NOT NULL,
`principalName` varchar(200) NOT NULL,
`localId` varchar(200) NOT NULL,
`persistentId` varchar(200) NOT NULL,
`peerProvidedId` varchar(200) default NULL,
`creationDate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`deactivationDate` timestamp NULL default NULL,
KEY `i_shibpid_pid` (`persistentId`),
KEY `i_shibpid_pid_date` (`persistentId`,`deactivationDate`),
KEY `i_shibpid_lid` (`localEntity`,`peerEntity`,`localId`),
KEY `i_shibpid_lid_date` (`localEntity`,`peerEntity`,`localId`,`deactivationDate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Perzisztens attribútum feloldása
Az attribute-resolver.xml konfigurációs fájlban vegyük fel a következő DataConnectort illetve PrincipalConnectort:
<resolver:DataConnector xsi:type="StoredId"
xmlns="urn:mace:shibboleth:2.0:resolver:dc"
id="persistentIdConnector"
sourceAttributeID="uid"
generatedAttributeID="persistentId"
salt="valami-random-sztring">
<resolver:Dependency ref="myLDAP" />
<ApplicationManagedConnection jdbcDriver="com.mysql.jdbc.Driver"
jdbcURL="jdbc:mysql://localhost/installfest"
jdbcUserName="root"
jdbcPassword="" />
</resolver:DataConnector>
<resolver:PrincipalConnector xsi:type="StoredId"
xmlns="urn:mace:shibboleth:2.0:resolver:pc" id="saml2Persistent"
nameIDFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
storedIdDataConnectorRef="persistentIdConnector" />
Definiáljuk a persistentId attribútumot (a transientId ELŐTT! - különben a transientId -t választja ki az idp...):
<resolver:AttributeDefinition id="persistentId" xsi:type="Simple"
xmlns="urn:mace:shibboleth:2.0:resolver:ad">
<resolver:Dependency ref="persistentIdConnector" />
<resolver:AttributeEncoder xsi:type="SAML2StringNameID"
xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" />
</resolver:AttributeDefinition>
Perzisztens attribútum kódolása a SAML válaszba
Az attribute_filter.xml -ben meg kell adni hogy a frissen létrehozott persistentId attribútumot kiadja az SP-nek:
<AttributeFilterPolicy id="releaseNameIDToAnyone">
<PolicyRequirementRule xsi:type="basic:ANY" />
<AttributeRule attributeID="transientId">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="persistentId">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
</AttributeFilterPolicy>