Error login in using custom user table

292 views
Skip to first unread message

Linus Nikander

unread,
Jun 17, 2015, 3:11:22 AM6/17/15
to manydesign...@googlegroups.com
I configured portofino to user a simple, custom, user-table for logins. SQL-definition:

 CREATE TABLE "LOFAVOR_CORE_DEV_1"."PORTOFINO_USERS" 
   ( "USER_ID" NUMBER NOT NULL ENABLE, 
"USERNAME" VARCHAR2(200 BYTE) NOT NULL ENABLE, 
"PASSWORD" VARCHAR2(1000 BYTE) NOT NULL ENABLE, 
"CONTACT_EMAIL" VARCHAR2(1000 BYTE), 
CONSTRAINT "PORTOFINO_USERS_PK" PRIMARY KEY ("USER_ID")


I get the following error when I try to log in:

Hibernate: select this_."USER_ID" as USER_ID1_12_0_, this_."USERNAME" as USERNAME2_12_0_, this_."PASSWORD" as PASSWORD3_12_0_, this_."CONTACT_EMAIL" as CONTACT_EMAIL4_12_0_ from "LOFAVOR_CORE_DEV_1"."PORTOFINO_USERS" this_ where this_."USER_ID"=?
2015-06-17 09:01:40,565 WARN  c.m.portofino.actions.user.LoginAction   Login failed for 'testUser': Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - testUser, rememberMe=false].  Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException).
org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - testUser, rememberMe=false].  Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException).
        at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:214) ~[shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106) ~[shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:270) ~[shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:256) [shiro-core-1.2.3.jar:1.2.3]
        at com.manydesigns.portofino.actions.user.LoginAction.login(LoginAction.java:152) ~[portofino-base-4.1.3.jar:4.1.3]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_80]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_80]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_80]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_80]
        at net.sourceforge.stripes.controller.DispatcherHelper$6.intercept(DispatcherHelper.java:456) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158) [stripes-1.5.8.jar:1.5.8]
        at com.manydesigns.portofino.interceptors.GuardsInterceptor.intercept(GuardsInterceptor.java:61) [portofino-base-4.1.3.jar:4.1.3]
        at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:454) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:278) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:160) [stripes-1.5.8.jar:1.5.8]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [servlet-api.jar:na]
        at net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:453) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:260) [stripes-1.5.8.jar:1.5.8]
        at net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:440) [stripes-1.5.8.jar:1.5.8]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at com.manydesigns.portofino.servlets.I18nFilter.doFilter(I18nFilter.java:60) [portofino-base-4.1.3.jar:4.1.3]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:260) [stripes-1.5.8.jar:1.5.8]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at com.manydesigns.portofino.servlets.CleanupFilter.doFilter(CleanupFilter.java:47) [portofino-database-4.1.3.jar:4.1.3]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at com.manydesigns.portofino.servlets.DispatcherFilter.doFilter(DispatcherFilter.java:61) [portofino-pageactions-4.1.3.jar:4.1.3]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.3.jar:1.2.3]
        at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.3.jar:1.2.3]
        at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.3.jar:1.2.3]
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at com.manydesigns.elements.servlet.ElementsFilter.doHttpFilter(ElementsFilter.java:132) [elements-4.1.3.jar:4.1.3]
        at com.manydesigns.elements.servlet.ElementsFilter.doFilter(ElementsFilter.java:83) [elements-4.1.3.jar:4.1.3]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.62]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.62]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.62]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.62]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.62]
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) [catalina.jar:7.0.62]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.62]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [catalina.jar:7.0.62]
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-coyote.jar:7.0.62]
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) [tomcat-coyote.jar:7.0.62]
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) [tomcat-coyote.jar:7.0.62]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_80]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_80]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.62]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.math.BigInteger
        at org.hibernate.type.descriptor.java.BigIntegerTypeDescriptor.unwrap(BigIntegerTypeDescriptor.java:36) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.type.descriptor.sql.DecimalTypeDescriptor$1.doBind(DecimalTypeDescriptor.java:65) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:90) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:286) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:281) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1995) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1966) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1901) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1839) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doQuery(Loader.java:910) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doList(Loader.java:2554) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doList(Loader.java:2540) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.list(Loader.java:2365) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:126) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1682) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.Criteria$list$0.call(Unknown Source) ~[na:na]
        at Security.loadAuthenticationInfo(Security.groovy:142) ~[na:na]
        at Security$loadAuthenticationInfo.callCurrent(Unknown Source) ~[na:na]
        at Security.doGetAuthenticationInfo(Security.groovy:113) ~[na:na]
        at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:568) ~[shiro-core-1.2.3.jar:1.2.3]
        at com.manydesigns.portofino.shiro.SecurityGroovyRealm.getAuthenticationInfo(SecurityGroovyRealm.java:213) ~[portofino-pageactions-4.1.3.jar:4.1.3]
        at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180) ~[shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267) ~[shiro-core-1.2.3.jar:1.2.3]
        at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198) ~[shiro-core-1.2.3.jar:1.2.3]
        ... 64 common frames omitted

Linus Nikander

unread,
Jun 17, 2015, 3:12:43 AM6/17/15
to manydesign...@googlegroups.com
On a hunch (since you had a cast-error in the stack-trace) I changed the user_id column to varchar2. That worked. If you can't have numeric columns as tokens then maybe they should'nt be in the drop-down?

//Linus

Alessio Stalla

unread,
Jun 18, 2015, 5:39:15 AM6/18/15
to manydesign...@googlegroups.com
You can't have numeric columns as username or password columns, they have to be strings of course. The user id, instead, can be anything. Probably when you ran the wizard you selected user_id and not username as the user name column. Yes, we could have filtered those columns to show only textual ones... just like we could have done a million of other little improvements ;) if you care about it, you can open an issue on tt.manydesigns.com!

--
You received this message because you are subscribed to the Google Groups "manydesigns-portofino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to manydesigns-port...@googlegroups.com.
To post to this group, send email to manydesign...@googlegroups.com.
Visit this group at http://groups.google.com/group/manydesigns-portofino.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages