[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:00490] Re: uApprove.jp-2.2.1a and OpenJDK6



土屋です.

uApprove.jp の Reset-approvals 設定を Standalone モードで動作させようとし
て四苦八苦したので,報告します.

まず最初に,

    https://www.gakunin.jp/docs/files/uApprove.jp-installation_ja.html#reset-approvals

の記述にしたがって,IdP と SP を同居させた上で,apache の設定ファイルに以
下のように記述しました.

	ProxyPass /idp/ ajp://localhost:8009/idp/
	ProxyPass /uApprove/ ajp://localhost:8009/uApprove/
	<Location /uApprove/reset-approvals.jsp>
		AuthType shibboleth
		ShibRequestSetting requireSession 1
		Require valid-user
	</Location>

その上で,

    https://idp.example.net/uApprove/reset-approvals.jsp?standalone_next_url=http://example.net/

にアクセスすると,

org.apache.jasper.JasperException: An exception occurred processing JSP page /reset-approvals.jsp at line 82

79:        LOG.debug("inline call");
80:        principal = (String) session.getAttribute(Controller.SESKEY_PRINCIPAL);
81:        returnURL = (String) session.getAttribute(Controller.SESKEY_RETURNURL);
82:        entityId = ((RelyingParty) session.getAttribute(Controller.SESKEY_RELYINGPARTY)).getEntityId();
83:        hiddenField += ConfigurationManager.HTTP_PARAM_RETURNURL;
84:   }
85:   hiddenField += "\" value=\""+returnURL+"\">";

というようなエラーが表示されます.この段階でかなり悩んだのですが,パラメー
タ名を

    誤: standalone_next_url
    正: standalone-next-url

というように,アンダースコアを半角マイナスに修正して,

    https://idp.example.net/uApprove/reset-approvals.jsp?standalone-next-url=http://example.net/

にアクセスすると,まずこの段階は修正できました.これは,現在のインストー
ルマニュアル

    https://www.gakunin.jp/docs/files/uApprove.jp-installation_ja.html#reset-approvals

の誤植だと思いますので,修正をお願いします.

次に表示されたエラーは,

    Username is not set, can't reset attribute release approval

というものです.reset-approvals.jsp の該当部分を抜き出すと,

    principal = request.getRemoteUser();
    if (principal==null || principal.equals(""))
       throw new UApproveException("Username is not set, can't reset attribute release approval");

となっています.Shibboleth SP が REMOTE_USER 変数を設定しているはずなの
におかしいなあと調べてみると,

    http://shibboleth.1660669.n2.nabble.com/REMOTE-USER-user-not-available-td4289047.html

というような情報に行きあたりました.そのため,Tomcat の設定を編集して,

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
	       tomcatAuthentication="false" />

というように,tomcatAuthentication="false" というオプションを設定し
て,Apache 上の認証情報を信用するように設定すれば良いようです.

これで,やっとこさ uApprove.jp の Reset-approvals 設定が Standalone モー
ドで動くようになりました.あー苦労した‥‥.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )