- PR -

RealmBase + Eclipse + Tomcatプラグイン

1
投稿者投稿内容
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2004-05-26 13:19
皆さんこんにちは。

以下の環境でTomcatユーザのパスワードをダイジェスト化しようとしています。

Eclipse 2.1.2
Tomcat 5.0.16
SYSDEO Tomcatプラグイン 2.2.1
J2SDK 1.4.1

Tomcatユーザはデータベースで管理しますが、今回はこのTomcatユーザ情報自体を管理するためのWebアプリケーションを作成しています。

画面で入力されたパスワードは、ダイジェスト化してからデータベースに格納しますが、このダイジェスト化で問題が出ています。

何も考えずにサーブレットから、
コード:
    hashedPassword = RealmBase.Digest(password, "MD5");


なんて行を実行すると実行時エラーになります。
コード:
java.lang.NoClassDefFoundError: org/apache/catalina/realm/RealmBase



ビルドパスにRealmBase.classを含むcatalina.jarなどを入れているので、コンパイルは通ります。

catalina.jarはCATALINA_HOME/server/libにあるので、Webアプリケーションからはこれを参照できないのが原因であることは理解しています。

catalina.jarをCATALINA_HOME/common/libにもコピーすればうまく行くことは分かっていますが、もっとよい方法があるような気がするため皆さんにお尋ねします。
Tomcatプラグインの設定だけで問題を解決する方法などはありませんでしょうか?

またついでなのでお聞きしますが、Tomcatを(Eclipse上ではない)スタンドアロン環境で動作させる場合は、マニュアルに従ってcatalina.jarをクラスパスに追加するだけで動作しますか?
こちらは環境ができ次第自分でも確認しますが、もしご存知の方がいればぜひ教えて下さい。

以上よろしくお願いします。
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2004-05-26 14:59
MD5 は java.security.MessageDigest で求められますし、
実際、org.apache.catalina.realm.RealmBase は、そうしてます。

この様な処理は、サーブレットコンテナと独立して利用できる様に
作成しておいた方が良いと思います。
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2004-05-27 14:38
はしもとさん、アドバイスどうもありがとうございます。

引用:

はしもとさんの書き込み (2004-05-26 14:59) より:
MD5 は java.security.MessageDigest で求められますし、
実際、org.apache.catalina.realm.RealmBase は、そうしてます。

この様な処理は、サーブレットコンテナと独立して利用できる様に
作成しておいた方が良いと思います。




ご説ごもっとも。それでいきます。
ここで聞いてよかったです。

改めてどうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)