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"