古いJava Webアプリケーションを復活させようとしていますが、私のJDBCRealmが定義された古いglassfish設定ファイルが失われました。今私は古い戦争をTomcat 7に配備しようとしており、ユーザーを認証するためにJDBCRealmを再作成する必要があります。このようなことに取り組んだ当初から、私はそれを行う方法を覚えていないので、私は公式の文書を見ましたが、oracleのconnectionURLはありません。私は自分のデータベースが以前と同じようにユーザとロールテーブルで設定されていると思います。oracleデータベースを持つtomcat webappの古いJDBCRealmを設定する必要があります
glassfish 3で実行された古い戦争をTomcat 7でも再利用できますか?これにはsun-web.xmlファイルが含まれています。それはグラスフィッシュのためだけですか?
私は、フォーム認証方式を使用しています - ここでSは私のweb.xmlの抜粋である:ここで
<login-config>
<auth-method>FORM</auth-method>
<realm-name>jdbc/myapp/realm</realm-name>
<form-login-config>
<form-login-page>/loginPage.jsp</form-login-page>
<form-error-page>/loginError.jsp</form-error-page>
</form-login-config>
私のレルムスニペットは、server.xmlファイルから次のとおりです。
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@localhost:1521:XE"
userTable="users"userNameCol="username"
userCredCol="wpassword"userRoleTable="roles"roleNameCol="rolename"/>
connectionURLは正しく見えますか?他に何が間違っているのでしょうか?今すぐログインしようとすると、決してパスワードを受け入れません。私はいつも私のログインエラーのページを取得する(完全なアプリケーションのクラッシュではない)。
最新レルム版:
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@localhost:1521:XE"
connectionName="uname"
connectionPassword="pword_33"
userTable="USERS"
userNameCol="USERNAME"
userCredCol="WPASSWORD"
userRoleTable="ROLES"
roleNameCol="ROLENAME" />
ありがとう、私は家に帰るときにそれを試してみます。 –
それを試しましたが、まだ運がありません、上記の私の領域の最新版を見てください。 –
上記の設定のいずれかが間違っています(あなただけが知ることができます)。または使用しているユーザー名とパスワードがデータベースに一致していないか、必要な役割を持っていません。 org.apache.catalina.authenticatorパッケージのデバッグロギングを有効にすると、コンテナ管理の認証を使用していると仮定して、どこがうまくいかないかのヒントを得ることができます。 –