比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

IdPのプラグイン機能を利用することにより、IdP側において、ユーザの属性情報に基づいた特定SPへのアクセス制御を実現することが可能です。 任意の条件を持つプラグインが作成可能ですが、ここでは、簡易な条件判定機能を持つものとしてFPSP(Filter Per SP)プラグインを紹介します。

お知らせ

  • 本ページに掲載している最新版(201303版)では、エラーページをJSPファイルとして設定できるようになりました。Shibboleth標準のerror.jspをハードコードしておりますが、このファイル名を変更すれば独自のページを表示させることも可能です。
  • 名称をFPSPに変更しました。

 

...


FPSPプラグインの概要

FPSPプラグインは、設定ファイルに記述されているSP毎に特定の属性値を持つユーザーについてのみアサーション(認証結果・属性情報)を送信するためのIdPプラグインです。 一つのSPに対して、送信を許可する複数の属性値が設定可能です。
 
 

...


FPSPプラグインのインストール手順

  1. 設定ファイルの解析に commons-configuration-1.3 を使用しているため、下記URLより commons-configuration-1.3.zip を入手して、解凍したJARファイル commons-configuration-1.3.jar を /opt/shibboleth-idp/lib/ および ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/ に配置する。

    http://commons.apache.org/configuration/
        なお、commons-configuration-1.4.zip 以降はShibboleth IdPに付属する    commons-lang-2.1.jar より新しいJARファイルを要求するために動作しない。
     

  2. SampleFilterPerSP.java をコンパイルする。

    パネル
    borderColor#cccccc
    bgColor#eeeeee
    borderStylesolid
    $ for jar in ${CATALINA_HOME}/lib/servlet-api.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/opensaml-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/openws-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/shibboleth-common-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/shibboleth-identityprovider-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/commons-collections-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/commons-lang-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/commons-logging-*.jar \
        ${CATALINA_HOME}/webapps/idp/WEB-INF/lib/commons-configuration-*.jar
    > do
    > export CLASSPATH=${CLASSPATH:+${CLASSPATH}:}$jar
    > done
    
    $ javac -encoding shift_jis -Xlint:unchecked  SampleFilterPerSP.java
  3. コンパイルされた SampleFilterPerSP.classを ${CATALINA_HOME}/webapps/idp/WEB-INF/classes/ 以下に配置する。

    パネル
    borderColor#cccccc
    bgColor#eeeeee
    borderStylesolid
    $ mkdir -p ${CATALINA_HOME}/webapps/idp/WEB-INF/classes/plugin/idp
    $ cp -p SampleFilterPerSP.class ${CATALINA_HOME}/webapps/idp/WEB-INF/classes/plugin/idp/

     ※ Shibboleth IdPをアップデートする場合には配置したファイルが失われる可能性があるので注意すること。

...



...


FPSPプラグインの設定手順

  1. ${CATALINA_HOME}/webapps/idp/WEB-INF/web.xml に下記を追記する。パラメータ名 Config の値は後述する FPSP の設定ファイルのパスとなる。

    パネル
    borderColor#cccccc
    bgColor#eeeeee
    borderStylesolid
    <!-- SampleFilterPerSP -->
    <filter>
      <filter-name>SampleFilterPerSP</filter-name>
      <filter-class>plugin.idp.SampleFilterPerSP</filter-class>
      <init-param>
        <param-name>Config</param-name>
        <param-value>
            /opt/shibboleth-idp/conf/SampleFilterPerSP_allow.xml
        </param-value>
      </init-param>
    </filter>
    
    <filter-mapping>
      <filter-name>SampleFilterPerSP</filter-name>
      <url-pattern>/profile/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

      ※ すでに uApprove.jp がインストールされているIdPにインストールする場合は、uApprove.jp の filter および filter-mapping よりも上に挿入してください。
     

  2. 上記1のパラメータ名 Config で設定したファイル(SampleFilterPerSP_allow.xml)を /opt/shibboleth-idp/conf/ に配置する。
     
  3. Shibbolet IdPを再起動する。
    # /sbin/service tomcat6 restart

...