-
Type:
Bug
-
Status: Closed
-
Resolution: No Longer Reproducible
-
Affects Version/s: 6.1.0 CE RC1
-
Fix Version/s: --Sprint 12/11, 6.1.0 CE RC1
-
Labels:None
-
Environment:Tomcat 7.0.21 + MySQL 5. 6.1.x Revision 89385.
After installing the Audit plugin, trying to log in using the wrong password causes the following HTTP Status 500 error:
root cause java.lang.NoClassDefFoundError: com/liferay/portal/service/UserLocalServiceUtil com.liferay.portal.audit.hook.security.auth.LoginFailure.onFailureByEmailAddress(LoginFailure.java:43) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:54) $Proxy281.onFailureByEmailAddress(Unknown Source) com.liferay.portal.security.auth.AuthPipeline._onFailure(AuthPipeline.java:267) com.liferay.portal.security.auth.AuthPipeline.onFailureByEmailAddress(AuthPipeline.java:69) com.liferay.portal.service.impl.UserLocalServiceImpl.authenticate(UserLocalServiceImpl.java:5048) com.liferay.portal.service.impl.UserLocalServiceImpl.authenticateByEmailAddress(UserLocalServiceImpl.java:831) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112) com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71) com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59) com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:59) com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108) com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:204) $Proxy94.authenticateByEmailAddress(Unknown Source) com.liferay.portal.service.UserLocalServiceUtil.authenticateByEmailAddress(UserLocalServiceUtil.java:569) com.liferay.portlet.login.util.LoginUtil.getAuthenticatedUserId(LoginUtil.java:153) com.liferay.portlet.login.util.LoginUtil.login(LoginUtil.java:270) com.liferay.portlet.login.action.LoginAction.login(LoginAction.java:187) com.liferay.portlet.login.action.LoginAction.processAction(LoginAction.java:87) com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:175) com.liferay.portlet.StrutsPortlet.processAction(StrutsPortlet.java:190) com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70) com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48) com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:653) com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:689) com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:361) com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:845) com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:633) com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:244) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:172) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:554) com.liferay.portal.servlet.MainServlet.service(MainServlet.java:531) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:199) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:240) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:68) com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:136) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:302) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:199) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:55) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:240) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121) com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:208) com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:184) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:184) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92) com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:68)
Steps to reproduce:
1. Add the following lines to portal-ext.properties:
audit.message.com.liferay.portlet.model.Layout.VIEW=true
com.liferay.portal.servlet.filters.audit.AuditFilter=true
2. Start up Liferay on a blank min database.
3. Deploy the Audit Hook and Audit Portlet plugins.
4. Start the server, sign in and go to the Control Panel.
5. Go to "Audit Reports" in the left menu to make sure that the plugin installed properly.
6. Log out.
7. Attempt to log back in as test@liferay.com, but using the wrong password.