2016-04-23 2 views
0

Недавно установлены 9 кота - и перенесенные приложения от кота 8 до кота 9.Tomcat 9 DIGEST с JDBCRealm - принимает только переваривает, а не пароли

Чтобы проверить подлинность моей конфигурации используют JDBCRealm с базой данных MySQL. Конфигурация ниже очень хорошо работала с 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"/> 

Способ аутентификации ФОРМА для приложения и DIGEST для соответствующего API внутри другого приложения. Оба приложения видят друг друга в кросс-контексте. 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> 

Что здесь может быть неправильно? Все это «стандартно» ... Что я делаю для того, чтобы с помощью страницы проверки подлинности FORM снова вводился пароль пользователя с помощью DIGEST, как у меня с tomcat 8?

Большое спасибо заранее

С уважением

ответ

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>

Смежные вопросы