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

[upki-fed:00739] Re: uApproveの挙動について



土屋先生

TSNRの坂元です。コメントありがとうございます。おかげさまで進展が
ありました。

今回やった事で効果があったと思われる作業をまとめますと、以下の通りです。
・ArpUserテーブルからauUserNameが重複しているもので、他のテーブルに紐付け
  されているデータがないレコードを削除
・ArpUserテーブルのauUserNameにUNIQUE属性付加
・MySQLのJDBCドライバを5.1.27にアップデート

現状でまだ残っている問題は、以下の通りです。
・選択した属性情報提供の設定が次回以降ログイン時に無視されることがある
・[新] 属性情報提供のリセット機能の挙動不審

以下、詳細となります。

> 症状からすると,uApprove が確認結果などを格納するデータベースがうまく参照
> できていない可能性が疑わしいように思います.
> 
> common.properties の storageType と databaseConfig の設定,および
> storagetType=database の場合は database.properties の設定を確認されてはど
> うでしょうか.

はい、データベースはMySQLを使っており、common.propertiesは、
-----
  storageType=database
  databaseConfig=/usr/local/uApprove/conf/database.properties
-----
/usr/local/uApprove/conf/database.propertiesは、
-----
  sqlCommands=/usr/local/uApprove/conf/mysql.commands
  driver=com.mysql.jdbc.Driver
  url=jdbc:mysql://localhost:3306/uApprove
  user=uApprove
  password=**********
-----
となっており、作成したテーブルにはそれらしいエントリが登録されている所まで
は確認しておりました。

ところが、ArpUserテーブルをよくよく確認すると、auUserNameが重複したレコード
が複数登録されており、そのうちの1つだけに、AttrReleaseApprovalテーブルや
CheckAlwaysテーブル上に対応するレコードがある状態でした。そこで他のテーブル
に対応するレコードの無いArpUserテーブル上のレコードを削除した所、
>> ・同意画面や送信属性の確認画面で無限ループする
>> (確認画面で送信を押すと同意画面に戻ってしまう)
と
>> ・Internal Server Errorとなる
の2つの現象はいまのところ発生しなくなりました。mysql.commandsを見ますと
-----
selIdxUser = select idxArpUser as idxUser from ArpUser where auUserName = '?'
-----
となっておりますので、重複登録によりauUserNameからidxArpUserを取得する
段階で値が不定になってしまっていたようです。これで一時しのぎはできまし
たが、そもそもの重複登録をどうにかしないといけないので、とりあえず
  ALTER TABLE ArpUser ADD UNIQUE (auUserName);
と、auUserNameをユニーク化してDB側でエラーになるようにして試した所、
ArpUserテーブルに既にレコードのあるアカウントでは特に問題ないのです
が、初めてログインする際に重複登録しようとしているようでした。こちら
は予想される処理の流れからしてDB処理が怪しいと踏んで、JDBCのドライ
バを5.1.27にバージョンアップしたところ、いまのところ症状は出ず、
auUserNameにユニーク属性を付けたままでも動くようになりました。

ここまででだいぶまともに動くようになってきたものの、
>> ・最初に「毎回確認する」とした設定が無視されて確認の無いままSPに
>> 飛んでしまう(あるいは逆に確認画面が表示されてしまう)
という現象はいまだ発生しています。
またIdPの認証画面で"Reset my attribute release approvals"チェック
ボックスを表示して設定を変更しようとすると、SPに飛ぶ前に属性の選択画
面が2回表示されたり、ブラウザを再起動して再びログインしようとすると、
変更した設定が反映されていなかったりといった現象も出ています。皆様の
IdPではこのリセット機能も問題なく動いていますでしょうか?

引き続きなにかお気づきの点がありましたらコメントいただけますと幸いです。

よろしくお願いいたします。

(2013/12/16 12:33), TSUCHIYA Masatoshi wrote:
>>> On Fri, 13 Dec 2013 20:15:07 +0900
>>> xxxxxxx@xxxxxxxx (Hideki SAKAMOTO) said as follows:
> 
>> 現在uApprove.jp(2.2.1b)の動作確認をしており、基本的には動いたのですが、
>> テストを繰り返していると、
>> ・同意画面や送信属性の確認画面で無限ループする
>> (確認画面で送信を押すと同意画面に戻ってしまう)
>> ・最初に「毎回確認する」とした設定が無視されて確認の無いままSPに
>> 飛んでしまう(あるいは逆に確認画面が表示されてしまう)
>> ・Internal Server Errorとなる
>> 等の現象が発生してかなり不安定な状況です。Internal Server Errorが
>> 発生した際のTomcatのログを末尾に付けます。
> 
> 症状からすると,uApprove が確認結果などを格納するデータベースがうまく参照
> できていない可能性が疑わしいように思います.
> 
> common.properties の storageType と databaseConfig の設定,および
> storagetType=database の場合は database.properties の設定を確認されてはど
> うでしょうか.
>