比較バージョン

キー

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

1. はじめに

本メニューでは、IdPとSPを共にカスタマイズします。本メニューでは、IdPサーバとSPサーバを共にカスタマイズします。
また、ユーザ情報(LDAP)も操作します。
内容としては、独自の属性をSPサーバに送信し、SPサーバのWebアプリケーション側で受信した属性値を使った制御を行います。内容としては、独自の属性をSPに送信し、SPのWebアプリケーション側で受信した属性値を使った制御を行います。
実習セミナーでは、属性受信の確認ページをWebアプリケーションとし、独自に追加したshadowExpire属性で制御します。(有効期限を使った制御)

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

以下は、test001ユーザに3日前の日付、test002ユーザに3日後の日付を設定するldifファイルです。
※参考までに本日(

Today
) は、
Today
FormatUNIXtime
となります。


dn: uid=test001,ou=Test Unit1,o=test_o,dc=ac,c=JP
changetype: modify
add: objectClass
objectClass: shadowAccount
-
add: shadowExpire
shadowExpire: 
Today
FormatUNIXtime
Colorred
Offset-3

#       ↑1970年1月1日からの日数(←1970年1月1日からの日数(

Today
Colorblue
Offset-3


dn: uid=test002,ou=Test Unit2,o=test_o,dc=ac,c=JP
changetype: modify
add: objectClass
objectClass: shadowAccount
-
add: shadowExpire
shadowExpire: 

Today
FormatUNIXtime
Colorred
Offset+3
 

#       ↑1970年1月1日からの日数(←1970年1月1日からの日数(

Today
Colorblue
Offset+3

端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。 

<SP側の設定>

・shadowExpireのマッピング設定を追加

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
手順書に従って、作業を行ってください。

・属性受信の確認ページのサンプルコード

 SPサーバ:SP:/var/www/html/secure/index.phpに二つのPHP文を追加してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
<html>
<head>
 ↓ヘッダに下のphp部分を追加する
<?php
header("Expires: Dec, 20 Jul 2010 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

(中略)

<?php
$nowt = time();
$strNow = date("Y年m月d日", $nowt);
if (!empty($_SERVER['shadowExpire'])) {
    $expt = intval($_SERVER['shadowExpire'])*60*60*24;
    $strExp = date("Y年m月d日", $expt);
    $zant = $expt - $nowt;
    $zand = floor($zant/60/60/24);
    print "<div style=\"position: relative; top: 85px;\">";
    print "<h1>現在:$strNow ,";
    print "期限:$strExp ,";
    print "残日数:".intval($zand+2)."日間</h1>";
    print "</div>";
    if ($zand < 0) {
        $errmsg = "有効期限を".intval(($zand+1)*-1)."日過ぎています。";
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: https://ex-sp-testXX.ecloud.nii.ac.jp/secure/error.php?exp=".$strExp."&errmsg=".$errmsg);
                                        ↑各自SPサーバのホスト名//↑各自SPのホスト名
        exit();
    }
}
?>

↑mainテーブルの前に上のphp部分を追加する
<table id="main" cellspacing="0" class="chart">

(中略)

 ※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。 

・有効期限切れエラーページのサンプルコード

 SPサーバ:SP:/var/www/html/secure/error.phpを作成します。
※有効期限が切れたユーザでアクセスすると、このエラーページが表示されます。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
<?php print "<html>"; print "<head>"; print "    <meta

<html>
<head>
<meta http-equiv=

\

"Content-Type

\

"

content=

\

"text/html;

charset=utf-8

\

">

"; print "    <title>有効期限切れエラー</title>"; print "


<title>有効期限切れエラー</title>
</head>

"; print "<body>"; print "    <h1>有効期限切れエラー</h1>"; print "    <br>"; print "    有効期限 :$


<body>
<h1>有効期限切れエラー</h1>
<br>
有効期限 :<?=$_GET[exp]

<br>"; print "    メッセージ:$

?><br>
メッセージ:<?=$_GET[errmsg]

<br>"; print "

?><br>
</body>

"; print "


</html>

"; ?>


 


...

3. 手順書

下記の手順書を参照し、作業を行います。
※上述の通りshadowExpire属性を対象とし、各種設定値に置き換える事を忘れないようにしてください。

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
・IdPサーバ・IdP
  service tomcat6 restart
・SPサーバ・SP
  service shibd restart

② 各自が使用するSPサーバの接続確認用ページにアクセスします。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
例)1番を割り振られた場合
  https://ex-sp-test01.ecloud.nii.ac.jp/ 

③ ログインボタンをクリックします。

DSサーバの所属機関の選択画面が表示されるので、各自が使用するIdPサーバを選択します。DSの所属機関の選択画面が表示されるので、各自が使用するIdPを選択します。

IdPサーバのログイン画面が表示されるので、UsernameIdPのログイン画面が表示されるので、Username/Passwordを入力して認証を行います。
    ※test001:有効期限切れ、test002:有効期限内、test003:有効期限なし
    ※FPSPの導入によって、ユーザtest001,test002,test003に対するアクセス制限が存在する場合、
       ${CATALINA_HOME}/webapps/idp/WEB-INF/web.xml内SampleFilterPerSPの設定をコメント
       アウトして、tomcatを再起動してください。

...