Logowanie zakodowanym hasłem

Skończyłem dzisiaj szkolenie z aplikacji Webowych, raz jeszcze dziękuję twórcom, że udostępnili. Jest tam kawał dobrej wiedzy przekazanej w przystępny sposób. Ale na koniec nie obyło się bez błędów. Jakimś cudem na filmiku działało logowanie się zwykłym hasłem, a u mnie nie działało.  W sensie przy rejestracji poprawnie algorytm MD5 kodował i do MySQLa trafało zakodowane hasło, ale jak już chciałem się tym zalogować, to tylko tymi krzaczkami z kodowania dało radę.

    Nie wiedziałem, jak to możliwe. Szukałem, sprawdzałem, założyłem wątki na 3 grupach na FB i nic. Aż w końcu byłem tak zdesperowany, że nawet zacząłem dokumentację czytać :)

    I znalazłem odpowiedź. Brzmi ona tak: w pliku [Tomcat/conf/] server.xml w części <Realm> musi być taka adnotacja:

  1. <CredentialHandlerclassName="org.apache.catalina.realm.

  2.                                       MessageDigestCredentialHandler"

  3.     algorithm="md5"/>


Bo z tą adnotacją uważa za tekst w passwordzie jako zakodowany tekst, a bez tej adnotacji bierz plain text, czyli całość przykładowo:

  1. <Realm       
  2.     className="org.apache.catalina.realm.JDBCRealm"
  3.     connectionURL="jdbc:mysql://localhost/forum?
  4.     user=root&amp;password=mysqltest&amp;characterEncoding=utf8"
  5.     digest="MD5"       
  6.     driverName="com.mysql.cj.jdbc.Driver"
  7.     roleNameCol="role"   
  8.     userCredCol="password"   
  9.     userNameCol="login"   
  10.     userRoleTable="role"   
  11.     userTable="user">    
  12.     <CredentialHandler  
  13.         className="org.apache.catalina.realm.
  14.            MessageDigestCredentialHandler"
  15.         algorithm="md5"/>
  16. </Realm>

 Oczywiście bez enterów.

    To tyle ode mnie na dziś, zapraszam Cię do dzielenia się swoimi wrażeniami z tego posta, lub np. swoim dzisiejszym odkryciem  np. w komentarzu :)

Komentarze

Popularne posty z tego bloga

IntelliJ: zmiana rozmiaru czcionki scrollem

ThunderBird: jak zrobić professional stopkę