仕様
名称 | eduPersonAffiliation |
概要 | 利用者の職種等を表します。 |
参照スキーマ | eduPerson Object Class Specification (200806) |
name【SAML1】 | "urn:mace:dir:attribute-def:eduPersonAffiliation" |
name【SAML2】 | "urn:oid:1.3.6.1.4.1.5923.1.1.1.1" |
friendlyName | eduPersonAffiliation |
属性値or形式 | "faculty","staff","student","member" |
照合順序 | caseIgnoreMatch |
複数値 | 複数値 |
説明等 | 利用者の職位として,4つの値が利用可能です。IdPサイトでは,機関内の実際の詳細職位とのマッピングが必要です。いずれの値にも合致しない利用者については、この属性自体を送らないようにします。また,利用できる値は,「卒業生」等,必要に応じて追加することを予定しています。 |
※ なお,SPに対して複数の値が送られてきた場合,Shibbolethでは";"を用いて結合された文字列がアプリケーションに渡されます(例:"staff;member")。
属性定義の例:その1 (attribute-resolver.xml)
LDAPにfaculty/staff等の値がダイレクトに格納されている場合
<!-- Attribute Definition for eduPersonAffiliation --> <resolver:AttributeDefinition xsi:type="ad:Simple" id="eduPersonAffiliation" sourceAttributeID="eduPersonAffiliation"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonAffiliation" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" friendlyName="eduPersonAffiliation" encodeType="false" /> </resolver:AttributeDefinition>
属性定義の例:その2 (attribute-resolver.xml)
他の属性値からeduPersonAffiliationを生成する場合
※Java 7の場合
<resolver:AttributeDefinition xsi:type="ad:Script" id="eduPersonAffiliation" sourceAttributeID="ソースとなる属性"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonAffiliation" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" friendlyName="eduPersonAffiliation" encodeType="false" /> <ad:Script> <![CDATA[ importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); // Create attribute to be returned from definition eduPersonAffiliation = new BasicAttribute("eduPersonAffiliation"); // faculty if (条件マッチ) { eduPersonAffiliation.getValues().add("faculty"); } // staff if (条件マッチ) { eduPersonAffiliation.getValues().add("staff"); } // student if (条件マッチ) { eduPersonAffiliation.getValues().add("student"); } // adding member eduPersonAffiliation.getValues().add("member"); ]]> </ad:Script> </resolver:AttributeDefinition>