[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[upki-fed:01014] Re: Shibboleth IdP 3におけるFPSP相当機能の条件記述について
- Subject: [upki-fed:01014] Re: Shibboleth IdP 3におけるFPSP相当機能の条件記述について
- Date: Tue, 9 Feb 2016 18:20:28 +0900
- From: Takeshi NISHIMURA <xxxxxxx@xxxxxxxxx>
NIIの西村です。
> この場合、「その他」を表す部分である、
...
> がないとやはり動作しなかった(「その他」のSPが全部利用できなくなる)のですが、
> ここの記述にも最初の条件の2つのentityIDが存在していて、
> ちょっと綺麗じゃないな(後日メンテナンス時に忘れそうで怖い…)的な印象を持ちました。
実は私も気になっておりました。
単なる思い付きで恐縮ですが、各entityIDで拒否する条件を列挙して、全体のNOTをとるとか?
On 2016/02/05 18:15, Tatsumi Hosokawa wrote:
> 慶應義塾ITC本部の細川です。
>
> 現在、
> https://meatwiki.nii.ac.jp/confluence/pages/viewpage.action?pageId=20021272
> あたりを見ながら、FPSP対応の学認IdPをShibboleth 3.2.1に移行する実験をしているのですが、
> conf/intercept/context-check-intercept.xml での条件の書き方に悩んでいます。
>
> たとえば、
>
> entityID-A: edupersonAffiliation が faculty または staff
> entityID-B: edupersonAffiliation が faculty
> その他: 制限なし
>
> の条件でフィルタしたいと思った場合、とりあえず次のように書いてみたのですが、動いていそうな雰囲気です。
>
> <bean id="shibboleth.context-check.Condition" parent="shibboleth.Conditions.OR">
> <constructor-arg>
> <list>
> <bean id="shibboleth.context-check.Condition" parent="shibboleth.Conditions.AND">
> <constructor-arg>
> <list>
> <bean parent="shibboleth.Conditions.RelyingPartyId" c:candidates="#{ 'entityID-A' }" />
> <bean class="net.shibboleth.idp.profile.logic.SimpleAttributePredicate"
> p:useUnfilteredAttributes="true">
> <property name="attributeValueMap">
> <map>
> <entry key="eduPersonAffiliation">
> <list>
> <value>faculty</value>
> <value>staff</value>
> </list>
> </entry>
> </map>
> </property>
> </bean>
> </list>
> </constructor-arg>
> </bean>
> <bean id="shibboleth.context-check.Condition" parent="shibboleth.Conditions.AND">
> <constructor-arg>
> <list>
> <bean parent="shibboleth.Conditions.RelyingPartyId" c:candidates="#{ 'entityID-B' }" />
> <bean class="net.shibboleth.idp.profile.logic.SimpleAttributePredicate"
> p:useUnfilteredAttributes="true">
> <property name="attributeValueMap">
> <map>
> <entry key="eduPersonAffiliation">
> <list>
> <value>faculty</value>
> </list>
> </entry>
> </map>
> </property>
> </bean>
> </list>
> </constructor-arg>
> </bean>
> <bean id="shibboleth.context-check.Condition" parent="shibboleth.Conditions.NOT">
> <constructor-arg>
> <list>
> <bean parent="shibboleth.Conditions.RelyingPartyId" c:candidates="#{{ 'entityID-A', 'entityID-B' }}" />
> </list>
> </constructor-arg>
> </bean>
> </list>
> </constructor-arg>
> </bean>
>
> この場合、「その他」を表す部分である、
>
> <bean id="shibboleth.context-check.Condition" parent="shibboleth.Conditions.NOT">
> <constructor-arg>
> <list>
> <bean parent="shibboleth.Conditions.RelyingPartyId" c:candidates="#{{ 'entityID-A', 'entityID-B' }}" />
> </list>
> </constructor-arg>
> </bean>
>
> がないとやはり動作しなかった(「その他」のSPが全部利用できなくなる)のですが、
> ここの記述にも最初の条件の2つのentityIDが存在していて、
> ちょっと綺麗じゃないな(後日メンテナンス時に忘れそうで怖い…)的な印象を持ちました。
>
> これはこのように書くのがやはり適切なのでしょうか、それとももっとシンプルな書き方があるのでしょうか?
>
> もしご存知の方、いらっしゃいましたらご教授いただけますでしょうか。
>
> よろしくお願いいたします。
--
西村健
国立情報学研究所 TEL:03-4212-2890