JDBC Realm Authentication HTTP Status 403 when using correct credentials (Goes to error page with bad credentials) -


i'm trying authentication site using jdbc realms , i'm getting http status 403 - access requested resource has been denied when use correct credentials. when use incorrect credentials goes error page should. i'm able query database , responses it's not java connector issue. if change name of table error saying table doesn't exist appears connecting database fine , querying because knows when username , password incorrect , sends me error page. issues when use correct username/password. i'm using tomcat 7.0.61. there enough information figure out wrong.

my database called brew4me.

the persons table has attributes:

| email|name|city |password|state_providence|country| 

the user_roles table has attribues:

|email|role_name| 

an example row user_roles table

email@example.com|user 

also email=email tables.

my realm in server.xml file:

<realm classname="org.apache.catalina.realm.jdbcrealm"            connectionurl="jdbc:mysql://localhost:3306/brew4me"            connectionname="root" connectionpassword="#cs564brew4me"           drivername="com.mysql.jdbc.driver"            rolenamecol="email"            usercredcol="password"            usernamecol="email"            userroletable="user_roles"            usertable="person"/> 

my configurations in web.xml:

<security-role>     <role-name>user</role-name> </security-role>  <security-constraint>     <display-name>homepageconstraint</display-name>     <web-resource-collection>         <web-resource-name>brew4me</web-resource-name>         <url-pattern>/*</url-pattern>     </web-resource-collection>     <auth-constraint>         <role-name>user</role-name>     </auth-constraint>     <user-data-constraint>         <!-- transport-guarantee can confidential, integral, or none -->         <transport-guarantee>none</transport-guarantee>     </user-data-constraint> </security-constraint>  <login-config>     <auth-method>form</auth-method>     <form-login-config>         <form-login-page>/login.html</form-login-page>         <form-error-page>/error.html</form-error-page>     </form-login-config> </login-config> 

heres code login page:

<form method=post action="j_security_check" >     email:<input type="text"  name= "j_username" >     password:<input type="password"  name= "j_password" >     <input type="submit" value="login"> </form> 

console output if might helpful:

 apr 28, 2015 12:05:18 org.apache.tomcat.util.digester.setpropertiesrule begin warning: [setpropertiesrule]{server/service/engine/host/context} setting property 'source' 'org.eclipse.jst.jee.server:brew4me' did not find matching property. apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: server version:        apache tomcat/7.0.61 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: server built:          mar 27 2015 12:03:56 utc apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: server number:         7.0.61.0 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: os name:               windows 7 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: os version:            6.1 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: architecture:          amd64 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: java home:             c:\program files\java\jre1.8.0_40 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: jvm version:           1.8.0_40-b26 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: jvm vendor:            oracle corporation apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: catalina_base:         c:\apache-tomcat-7.0.61 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: catalina_home:         c:\apache-tomcat-7.0.61 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: command line argument: -dcatalina.base=c:\apache-tomcat-7.0.61 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: command line argument: -dcatalina.home=c:\apache-tomcat-7.0.61 apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: command line argument: -dwtp.deploy=c:\apache-tomcat-7.0.61\wtpwebapps apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: command line argument: -djava.endorsed.dirs=c:\apache-tomcat-7.0.61\endorsed apr 28, 2015 12:05:18 org.apache.catalina.startup.versionloggerlistener log info: command line argument: -dfile.encoding=cp1252 apr 28, 2015 12:05:18 org.apache.catalina.core.aprlifecyclelistener lifecycleevent info: apr based apache tomcat native library allows optimal performance in production environments not found on java.library.path: c:\program files\java\jre1.8.0_40\bin;c:\windows\sun\java\bin;c:\windows\system32;c:\windows;c:/program files/java/jre1.8.0_40/bin/server;c:/program files/java/jre1.8.0_40/bin;c:/program files/java/jre1.8.0_40/lib/amd64;c:\programdata\oracle\java\javapath;c:\program files (x86)\amd app\bin\x86_64;c:\program files (x86)\amd app\bin\x86;c:\windows\system32;c:\windows;c:\windows\system32\wbem;c:\windows\system32\windowspowershell\v1.0\;c:\program files (x86)\ati technologies\ati.ace\core-static;c:\program files (x86)\common files\ulead systems\mpeg;c:\swtools\readyapps;c:\program files (x86)\common files\lenovo;c:\program files (x86)\common files\lenovo\easyplussdk\bin;c:\modeltech_pe_edu_10.3c\win32pe_edu;c:\program files (x86)\google\google_appengine\;c:\eclipse;;. apr 28, 2015 12:05:18 org.apache.coyote.abstractprotocol init info: initializing protocolhandler ["http-bio-8080"] apr 28, 2015 12:05:18 org.apache.coyote.abstractprotocol init info: initializing protocolhandler ["ajp-bio-8009"] apr 28, 2015 12:05:18 org.apache.catalina.startup.catalina load info: initialization processed in 1203 ms apr 28, 2015 12:05:18 org.apache.catalina.core.standardservice startinternal info: starting service catalina apr 28, 2015 12:05:18 org.apache.catalina.core.standardengine startinternal info: starting servlet engine: apache tomcat/7.0.61 apr 28, 2015 12:05:20 org.apache.catalina.util.sessionidgeneratorbase createsecurerandom info: creation of securerandom instance session id generation using [sha1prng] took [193] milliseconds. apr 28, 2015 12:05:20 org.apache.catalina.startup.hostconfig deploydirectory info: deploying web application directory c:\apache-tomcat-7.0.61\webapps\docs apr 28, 2015 12:05:20 org.apache.catalina.startup.hostconfig deploydirectory info: deployment of web application directory c:\apache-tomcat-7.0.61\webapps\docs has finished in 264 ms apr 28, 2015 12:05:20 org.apache.catalina.startup.hostconfig deploydirectory info: deploying web application directory c:\apache-tomcat-7.0.61\webapps\examples apr 28, 2015 12:05:21 org.apache.catalina.core.applicationcontext log info: contextlistener: contextinitialized() apr 28, 2015 12:05:21 org.apache.catalina.core.applicationcontext log info: sessionlistener: contextinitialized() apr 28, 2015 12:05:21 org.apache.catalina.core.applicationcontext log info: contextlistener: attributeadded('org.apache.jasper.compiler.tldlocationscache', 'org.apache.jasper.compiler.tldlocationscache@115992e1') apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deployment of web application directory c:\apache-tomcat-7.0.61\webapps\examples has finished in 744 ms apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deploying web application directory c:\apache-tomcat-7.0.61\webapps\host-manager apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deployment of web application directory c:\apache-tomcat-7.0.61\webapps\host-manager has finished in 217 ms apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deploying web application directory c:\apache-tomcat-7.0.61\webapps\manager apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deployment of web application directory c:\apache-tomcat-7.0.61\webapps\manager has finished in 223 ms apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deploying web application directory c:\apache-tomcat-7.0.61\webapps\root apr 28, 2015 12:05:21 org.apache.catalina.startup.hostconfig deploydirectory info: deployment of web application directory c:\apache-tomcat-7.0.61\webapps\root has finished in 133 ms apr 28, 2015 12:05:21 org.apache.coyote.abstractprotocol start info: starting protocolhandler ["http-bio-8080"] apr 28, 2015 12:05:21 org.apache.coyote.abstractprotocol start info: starting protocolhandler ["ajp-bio-8009"] apr 28, 2015 12:05:21 org.apache.catalina.startup.catalina start info: server startup in 3331 ms 

in realm have wrongly defined rolenamecol value.

try setting rolenamecol="role_name"