2016-04-23 48 views
0

新しくインストールされたTomcatの9を - と、私の設定は、MySQLデータベースとJDBCレルムを使用している認証するにはTomcatに9Tomcatの9 DIGEST - のみ受け付けダイジェストではなく、パスワード

をTomcatの8からアプリケーションを移行しました。以下の設定は、Tomcat 8と非常によく走ったが、Tomcatの9にパスワードだけではなく、「人間」のパスワード(ダイジェストは、テーブルtomcat_usersに格納されている)直接の代わりに、通常のパスワードの直接消化して受け入れました。したがって、ダイジェストアルゴリズムMD5は、人間が判読可能なパスワードがFORMログインページに送信されたときには実行されないようです。

server.xmlの内部設定は

<Realm className="org.apache.catalina.realm.JDBCRealm" connectionName=“..." connectionPassword=“..." connectionURL="jdbc:mysql://127.0.0.1:3306/TOMSCHEMA" digest="MD5" driverName="org.gjt.mm.mysql.Driver" roleNameCol="role_name" userCredCol="password" userNameCol="user_name" userRoleTable="tomcat_users_roles" userTable="tomcat_users"/> 

認証方式が別のアプリケーション内の対応するAPIのためのアプリケーションとDIGESTのための形態です。両方のアプリは、相互のコンテキストでお互いを見ています。アプリケーションのweb.xmlには、次の情報が含まれています:

<login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>NAME</realm-name> 
    <form-login-config> 
     <form-login-page>/WEB-INF/security/protected/login.jsp</form-login-page> 
     <form-error-page>/WEB-INF/security/protected/error.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

ここで間違っている可能性がありますか?それは私が、私はTomcatを8としていたとして再度FORM認証ページでDIGESTを用いて、ヒトパスワード入力を持つために何シェル...すべて非常に「標準」とは?

事前にありがとうございました

よろしく

答えて

0

今、あなたは、古い消化法に準拠するためにserver.xmlの追加の行に追加する必要があります。

 <Realm className="org.apache.catalina.realm.JDBCRealm" 
 
     driverName="org.apache.derby.jdbc.EmbeddedDriver" 
 
     connectionURL="jdbc:derby:/tomcat/db/zzz;create=false" 
 
     connectionName="zzz" 
 
     connectionPassword="zzz" 
 
     userTable="login" 
 
     userNameCol="login" 
 
     userCredCol="passwd" 
 
     userRoleTable="roles" 
 
     roleNameCol="role" 
 
     > 
 
     <CredentialHandler className="org.apache.catalina.realm.MessageDigestCredentialHandler" 
 
      algorithm="MD5" 
 
      iterations="1" 
 
      saltlenght="0" 
 
     /> 
 
     </Realm>

関連する問題