2012-09-07 18 views
6

Ho impostato l'impostazione nella sezione host server.xml a qualcosa di simile a questo regno:Come eseguire il debug della funzione di autenticazione in Tomcat?

<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="org.gjt.mm.mysql.Driver" 
     connectionURL="jdbc:mysql://localhost:3306/test" connectionName="test" connectionPassword="test" 
      userTable="users" userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles" 
     roleNameCol="user_role" /> 

anche in web.xml:

<security-role> 
    <role-name>ADMIN</role-name> 
</security-role> 

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>critical</web-resource-name> 
     <url-pattern>/admin/*</url-pattern> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>ADMIN</role-name> 
    </auth-constraint> 
</security-constraint> 

<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/error.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

E ho la databased istituito. Tuttavia, quando login.jsp è invocato, anche se ho inserito la password corretta sono stato reindirizzato su error.jsp

Voglio sapere se c'è un modo per trovare cosa c'è che non va durante il processo. Posso farlo in Eclipse o altri suggerimenti che possono risolvere il problema?

+0

Vedi qualcosa nei file di registro? Inoltre, hai creato e compilato le tabelle appropriate? – Santosh

+0

Penso di avere le tabelle giuste. Dove posso trovare i log di regno? – NSF

+0

Controllare i file nella cartella dei registri di Tomcat. – Santosh

risposta

9

Per ottenere le informazioni di debug dai passaggi di autenticazione Realm, seguire questa procedura.

Quando si definisce il proprio reame, aggiungere debug = "9" alla definizione.

È inoltre necessario aggiungere questo al file logging.properties:

org.apache.catalina.realm.level = ALL 
org.apache.catalina.realm.useParentHandlers = true 
org.apache.catalina.authenticator.level = ALL 
org.apache.catalina.authenticator.useParentHandlers = true 

Potrebbe anche essere necessario aggiungere questo, per evitare bufferring dei log. Se lo fai, ricorda di rimuoverlo dopo aver completato il debug.

1catalina.org.apache.juli.FileHandler.bufferSize = -1 

Ora, i registri di debug per i regni dovrebbero finire nel file catalina.out.

Problemi correlati