Foren
Liferay Captcha validation
Rajesh Babu, geändert vor 14 Jahren.
Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
Hi,
i had created a new signup portlet and need to use the liferay captcha in tat portlet.
for tat i had used the liferay captcha in my insert.jsp like below.
now, i am unable to validate the entered captcha. it is not throwing any exception. but it is not validating.
if u have some idea also, plz help.
Rgds,
Rajesh.
i had created a new signup portlet and need to use the liferay captcha in tat portlet.
for tat i had used the liferay captcha in my insert.jsp like below.
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ include file="/WEB-INF/jsp/forgotpassword/include.jsp" %>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="javax.portlet.*"%>
<%@ page import="javax.portlet.ResourceRequest"%>
<%@ page import="javax.portlet.ResourceResponse"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.awt.*"%>
<%@ page import="java.awt.image.*"%>
<%@ page import="javax.imageio.*"%>
<%@ page import="java.awt.geom.*"%>
<%@ page import="com.esic.portal.html.signup.util.CaptchaTextProducer"%>
<%@ page import="com.esic.portal.html.signup.controller.SignUpController"%>
<%@ page import="com.esic.portal.html.signup.domain.Signup"%>
<%@ page import="com.esic.portal.html.signup.util.Base64"%>
<%@ page import="com.liferay.portal.util.PortalUtil"%>
<%@ page import="com.liferay.portal.kernel.captcha.CaptchaTextException"%>
<%@ page import="com.liferay.portal.kernel.captcha.CaptchaUtil"%>
<%@ page import="com.liferay.portal.kernel.captcha.Captcha"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib uri="http://liferay.com/tld/journal" prefix="jnl"%>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet"%>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme"%>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%>
<portlet:defineobjects />
<portlet:actionurl var="captchaURL" />
<liferay-theme:defineobjects />
<portlet:actionurl var="formAction">
<portlet:param name="action" value="insert" />
</portlet:actionurl>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/ESICInternetAuthServicePortlets/css/internet_auth_service_style.css" type="text/css">
<script language="Javascript">
function emailValidator(elem, helperMsg) {
var emailExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function removeMessage()
{
valIndex=0;
var tableElement = document.getElementById("insert1");
var rowLength = tableElement.rows.length;
for (var i=0; i<(rowLength); i++)
{
tableElement.deleteRow('');
}
}
function guestHome() {
location.href = "http://portal.esic.co.in:8080/webspace";
}
function isSpclChar(elem, helperMsg){
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
for (var i = 0; i < elem.value.length; i++) {
if (iChars.indexOf(elem.value.charAt(i)) != -1) {
alert(helperMsg);
return false;
}
}
}
function checkEmpty(){
if(document.getElementById('unitName').value=="" ||document.getElementById('firstName').value=="" ||document.getElementById('lastName').value==""||document.getElementById('email').value==""){
alert("All fields are mandatory");
}
else{
document.signup.submit();
}
}
</script>
<div id="maincontent">
<div class="innercontent">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="pageHeader">
<tbody><tr>
<td><spring:message code="esicsignup" /></td>
</tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody><tr>
<td><b><spring:message code="mandatory" /></b></td>
</tr>
</tbody></table>
<form:form name="signup" commandname="signup" method="post" action="${formAction}">
<table id="insert1" width="476" border="0" cellpadding="0" cellspacing="0" align="center" class="login">
<tbody><tr>
<td width="150" class="leftTopFormLabel" colspan="2"><b><liferay-ui:error exception="<%= CaptchaTextException.class %>" message="text-verification-failed" /></b></td>
</tr>
<tr>
<td width="150" class="leftTopFormLabel" colspan="2"><b><form:errors path="unitName" cssStyle="color:red" /></b></td>
</tr>
<tr>
<td width="150" class="leftTopFormLabel" colspan="2"><b><form:errors path="firstName" cssStyle="color:red" /></b></td>
</tr>
<tr>
<td width="150" class="leftTopFormLabel" colspan="2"><b><form:errors path="lastName" cssStyle="color:red" /></b></td>
</tr>
<tr>
<td width="150" class="leftTopFormLabel" colspan="2"><b><form:errors path="email" cssStyle="color:red" /></b></td>
</tr>
<tr>
<td width="150" class="leftTopFormLabel" colspan="2"><b><form:errors path="captchausertext" cssStyle="color:red" /></b></td>
</tr>
</tbody></table>
<table id="insert2" width="476" border="0" cellpadding="0" cellspacing="0" align="center">
<tbody><tr>
<td colspan="2"> </td>
</tr>
<tr>
<td width="150" class="leftTopFormLabel"><spring:message code="unitName" /><span style="color:red"> *</span> :</td>
<td width="252"><input name="unitName" type="text" id="unitName" value="" onchange="javascript:isSpclChar(document.getElementById('unitName'), 'Please enter a valid Unit Name')" title="Please Enter the Company Name" size="31" maxlength="50"></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td width="150" class="leftTopFormLabel"><spring:message code="firstName" /><span style="color:red"> *</span> :</td>
<td><input name="firstName" type="text" id="firstName" value="" onchange="javascript:isSpclChar(document.getElementById('firstName'), 'Please enter a valid First Name')" size="31" maxlength="25"></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td width="150" class="leftTopFormLabel"><spring:message code="lastName" /><span style="color:red"> *</span> :</td>
<td><input name="lastName" type="text" id="lastName" value="" onchange="javascript:isSpclChar(document.getElementById('lastName'), 'Please enter a valid Last Name')" size="31" maxlength="25"></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td width="150" class="leftTopFormLabel"><spring:message code="emailAddress" /><span style="color:red"> *</span> :</td>
<td><input name="email" type="text" id="email" size="31" value="" maxlength="45" onchange="javascript:emailValidator(document.getElementById('email'), 'Please enter a valid Email Address')"></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td> </td>
<td><liferay-ui:captcha url="http://localhost:8080/web/guest/home1?p_p_id=58&p_p_lifecycle=1&p_p_url_type=0&p_p_state=exclusive&p_p_mode=view&_58_struts_action=%2Flogin%2Fcaptcha" /></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr align="center" valign="middle">
<td colspan="2" align="center" valign="bottom">
<input type="button" name="button5" id="button5" onClick="javascript:checkEmpty()" value="<spring:message code=" submit">"/>
<input type="reset" name="button6" id="button6" value="<spring:message code=" clear">"/>
<input type="button" name="button7" id="button7" onClick="javascript:removeMessage();javascript:guestHome()" value="<spring:message code=" cancel">"/>
<p> </p>
</td>
</tr>
</tbody></table>
</form:form></div>
</div>
now, i am unable to validate the entered captcha. it is not throwing any exception. but it is not validating.
if u have some idea also, plz help.
Rgds,
Rajesh.
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Remove <portlet:actionURL var="captchaURL"/> from top
and add this inside your <td>
Make sure /myportlet/captcha maps to com.liferay.portal.captcha.CaptchaPortletAction in struts-config.xml
Regards,
Sandeep
and add this inside your <td>
<portlet:actionurl windowstate="<%= LiferayWindowState.EXCLUSIVE.toString() %>" var="captchaURL">
<portlet:param name="struts_action" value="/myportlet/captcha" />
</portlet:actionurl>
<liferay-ui:captcha url="<%= captchaURL %>" />
Make sure /myportlet/captcha maps to com.liferay.portal.captcha.CaptchaPortletAction in struts-config.xml
Regards,
Sandeep
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
HI thx for ur reply,
i am developing spring portlets. i tried this procedure of achieving it. but i am getting error like,
"can not find symbol captchaURL" for <liferay-ui:captcha url="<%= captchaURL %>" />
i am developing spring portlets. i tried this procedure of achieving it. but i am getting error like,
"can not find symbol captchaURL" for <liferay-ui:captcha url="<%= captchaURL %>" />
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Are you using plugin sdk?
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
yes.
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
hi sandeep, earlier i tried this one also, giving the same error for
<liferay-ui:captcha url="<%= captchaURL %>" />
then i had given something like this,
<liferay-ui:captcha url="http://localhost:8080/web/guest/home1?p_p_id=58&p_p_lifecycle=1&p_p_url_type=0&p_p_state=exclusive&p_p_mode=view&_58_struts_action=%2Flogin%2Fcaptcha" />
the image is displayed. but unable 2 validate it.
<liferay-ui:captcha url="<%= captchaURL %>" />
then i had given something like this,
<liferay-ui:captcha url="http://localhost:8080/web/guest/home1?p_p_id=58&p_p_lifecycle=1&p_p_url_type=0&p_p_state=exclusive&p_p_mode=view&_58_struts_action=%2Flogin%2Fcaptcha" />
the image is displayed. but unable 2 validate it.
Varsha Gulave, geändert vor 13 Jahren.
RE: Liferay Captcha validation
New Member Beiträge: 11 Beitrittsdatum: 18.02.11 Neueste Beiträge
<liferay-ui:captcha url="http://localhost:8080/web/guest/home1?p_p_id=58&p_p_lifecycle=1&p_p_url_type=0&p_p_state=exclusive&p_p_mode=view&_58_struts_action=%2Flogin%2Fcaptcha" />
I used this but it not displaying image??
plz help
I used this but it not displaying image??
plz help
Arsh g, geändert vor 13 Jahren.
RE: Liferay Captcha validation
New Member Beiträge: 11 Beitrittsdatum: 18.02.11 Neueste Beiträge
I solved the problem.
thanxs
thanxs
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Hi Rajesh,
Did you follow as mentioned in the link that i sent. It works for me when i follow that.
http://www.emforge.net/web/akakunin/home/-/blogs/implement-captcha-in-liferay-portlet
Regards,
Sandeep
Did you follow as mentioned in the link that i sent. It works for me when i follow that.
http://www.emforge.net/web/akakunin/home/-/blogs/implement-captcha-in-liferay-portlet
Regards,
Sandeep
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
Hi sandeep,
i am following it frm past 3 days. i am still facing 3 problems
1. Unable to import JSPPortlet in CaptchaSamplePortlet. i am using 5.2.1
2. <liferay-ui:captcha url="<%= captchaURL %>"/> "can not find symbol captchaURL" in jsp.
3. Exception("Internal Error! Captcha text not found in session");
plz guide me dude.
i am following it frm past 3 days. i am still facing 3 problems
1. Unable to import JSPPortlet in CaptchaSamplePortlet. i am using 5.2.1
2. <liferay-ui:captcha url="<%= captchaURL %>"/> "can not find symbol captchaURL" in jsp.
3. Exception("Internal Error! Captcha text not found in session");
plz guide me dude.
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Ok Here are the steps.
First of all heres the jsp that you need. I have kept it really simple
Next add this in your portlet class. This is used for displaying captcha image in jsp
Modify your processAction. Here when you hit submit form from jsp the captchaText is retrieved from request and compared with the image text. I have done a simple SOP which says Valid captcha or invalid captcha. You can handle the code as you like after you get the flag.
Regards,
Sandeep
First of all heres the jsp that you need. I have kept it really simple
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%>
<jsp:usebean id="name" class="java.lang.String" scope="request" />
<portlet:defineobjects />
<form method="post" action="<portlet:actionURL/>">
<portlet:resourceurl var="captchaURL" />
<liferay-ui:captcha url="<%= captchaURL %>" />
<input type="submit">
</form>
Next add this in your portlet class. This is used for displaying captcha image in jsp
public void serveResource(ResourceRequest request, ResourceResponse response)
throws PortletException, IOException {
CaptchaUtil.serveImage(request, response);
}
Modify your processAction. Here when you hit submit form from jsp the captchaText is retrieved from request and compared with the image text. I have done a simple SOP which says Valid captcha or invalid captcha. You can handle the code as you like after you get the flag.
public void processAction(
ActionRequest actionRequest, ActionResponse actionResponse)
throws IOException, PortletException {
if(checkCaptcha(actionRequest)){
System.out.println("Valid captcha. Proceed further");
}else{
System.out.println("Invalid Captcha. Throw some custom exception which you will catch in jsp and display error message");
}
actionResponse.setPortletMode(PortletMode.VIEW);
}
private boolean checkCaptcha(PortletRequest request) throws PortletException {
String enteredCaptchaText = ParamUtil.getString(request, "captchaText");
boolean isValid = true;
PortletSession session = request.getPortletSession();
String captchaText = getCaptchaValueFromSession(session);
if (Validator.isNull(captchaText)) {
System.out.println("Internal Error! Captcha text not found in session");
isValid = false;
}
if (!captchaText.equals(enteredCaptchaText)) {
System.out.println("Invalid captcha text. Please reenter.");
isValid = false;
}
return isValid;
}
private String getCaptchaValueFromSession(PortletSession session) {
Enumeration<string> atNames = session.getAttributeNames();
while (atNames.hasMoreElements()) {
String name = atNames.nextElement();
if (name.contains("CAPTCHA_TEXT")) {
return (String) session.getAttribute(name);
}
}
return null;
}</string>
Regards,
Sandeep
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
Hi Sandeep,
thx 4 ur effort dude. i tried it.
but this problem still persist.
2. <liferay-ui:captcha url="<%= captchaURL %>"/> "can not find symbol captchaURL" in jsp.
thx 4 ur effort dude. i tried it.
but this problem still persist.
2. <liferay-ui:captcha url="<%= captchaURL %>"/> "can not find symbol captchaURL" in jsp.
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Make sure your portlet class is extending GenericPortlet.
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Hi,
I have attached the war. Unzip it and add it to your webapps folder. It has source too.
Regards,
Sandeep
I have attached the war. Unzip it and add it to your webapps folder. It has source too.
Regards,
Sandeep
Anhänge:
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
Hi Sandeep,
i am developing it in Spring Portlet and extending SimpleFormController dude.
i am developing it in Spring Portlet and extending SimpleFormController dude.
Sandeep Nair, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Oh... How are you redirecting it to the jsp that shows captcha. You have to write the following code in your java file before forwarding to that jsp
CaptchaUtil.serveImage(request, response);
Regards,
Sandeep
CaptchaUtil.serveImage(request, response);
Regards,
Sandeep
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
Hi Sandeep,
i think their is nothing like doGet() in simpleformcontroller.
tats y i used something like,
<td><img alt="captcha" class="captcha" src="CaptchaUtil.serveImage(request, response);" /></td>
<td>Text Verification<input name="enteredCaptchaText" size="10" type="text" value="" /></td>
it is not displaying any image, but displaying "captcha" text only.
i think their is nothing like doGet() in simpleformcontroller.
tats y i used something like,
<td><img alt="captcha" class="captcha" src="CaptchaUtil.serveImage(request, response);" /></td>
<td>Text Verification<input name="enteredCaptchaText" size="10" type="text" value="" /></td>
it is not displaying any image, but displaying "captcha" text only.
Alexey Kakunin, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Liferay Master Beiträge: 621 Beitrittsdatum: 07.07.08 Neueste Beiträge
Hi!
Could you check you have
in your code? Actually - it is defined variable captchaURL to be inserted later into <liferay-ui:captcha> tag
Rajesh Babu:
2. <liferay-ui:captcha url="<%= captchaURL %>"/> "can not find symbol captchaURL" in jsp.
Could you check you have
<portlet:resourceurl var="captchaURL" />
in your code? Actually - it is defined variable captchaURL to be inserted later into <liferay-ui:captcha> tag
Rajesh Babu, geändert vor 14 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 161 Beitrittsdatum: 08.02.10 Neueste Beiträge
Hi Alexey,
thx for ur reply. u r exactly rite. i defined it like,
but still it is giving error as captchaURL not defined.
thx for ur reply. u r exactly rite. i defined it like,
<portlet:resourceURL var="captchaURL"/>
<liferay-ui:captcha url="<%= captchaURL %>"/>
but still it is giving error as captchaURL not defined.
Hadrien Mens-Pellen, geändert vor 13 Jahren.
RE: Liferay Captcha validation
New Member Beiträge: 20 Beitrittsdatum: 21.02.11 Neueste Beiträge
Hi!
Can you try this (works for me).
<portlet:resourceURL var="captchaURL"/>
<liferay-ui:captcha url="${captchaURL}"/>
Can you try this (works for me).
<portlet:resourceURL var="captchaURL"/>
<liferay-ui:captcha url="${captchaURL}"/>
Danial Habibi, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 141 Beitrittsdatum: 01.11.11 Neueste BeiträgeSandeep Nair:
Ok Here are the steps.
First of all heres the jsp that you need. I have kept it really simple<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%> <jsp:usebean id="name" class="java.lang.String" scope="request" /> <portlet:defineobjects /> <form method="post" action="<portlet:actionURL/>"> <portlet:resourceurl var="captchaURL" /> <liferay-ui:captcha url="<%= captchaURL %>" /> <input type="submit"> </form>
Next add this in your portlet class. This is used for displaying captcha image in jsp
public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { CaptchaUtil.serveImage(request, response); }
Modify your processAction. Here when you hit submit form from jsp the captchaText is retrieved from request and compared with the image text. I have done a simple SOP which says Valid captcha or invalid captcha. You can handle the code as you like after you get the flag.
public void processAction( ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException { if(checkCaptcha(actionRequest)){ System.out.println("Valid captcha. Proceed further"); }else{ System.out.println("Invalid Captcha. Throw some custom exception which you will catch in jsp and display error message"); } actionResponse.setPortletMode(PortletMode.VIEW); } private boolean checkCaptcha(PortletRequest request) throws PortletException { String enteredCaptchaText = ParamUtil.getString(request, "captchaText"); boolean isValid = true; PortletSession session = request.getPortletSession(); String captchaText = getCaptchaValueFromSession(session); if (Validator.isNull(captchaText)) { System.out.println("Internal Error! Captcha text not found in session"); isValid = false; } if (!captchaText.equals(enteredCaptchaText)) { System.out.println("Invalid captcha text. Please reenter."); isValid = false; } return isValid; } private String getCaptchaValueFromSession(PortletSession session) { Enumeration<string> atNames = session.getAttributeNames(); while (atNames.hasMoreElements()) { String name = atNames.nextElement(); if (name.contains("CAPTCHA_TEXT")) { return (String) session.getAttribute(name); } } return null; }</string>
Regards,
Sandeep
hi sandeep I've tried the method u provide but i got error like this
Internal Error! Captcha text not found in session
20:28:47,134 ERROR [PortletServlet:96] javax.portlet.PortletException: java.lang.NullPointerException
javax.portlet.PortletException: java.lang.NullPointerException
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:156)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:227)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:69)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:199)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:687)
at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:360)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:784)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:582)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:232)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:153)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:508)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:485)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:309)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:121)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:134)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:261)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:110)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:222)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:442)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:45)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:81)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:179)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:240)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.processFilter(ThreadLocalFilter.java:35)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at com.registrasi.unhan.portlet.PendaftaranPortlet.checkCaptcha(PendaftaranPortlet.java:51)
at com.registrasi.unhan.portlet.PendaftaranPortlet.addPendaftar(PendaftaranPortlet.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:138)
... 162 more
20:28:47,148 ERROR [jsp:154] java.lang.NullPointerException
at com.registrasi.unhan.portlet.PendaftaranPortlet.checkCaptcha(PendaftaranPortlet.java:51)
at com.registrasi.unhan.portlet.PendaftaranPortlet.addPendaftar(PendaftaranPortlet.java:78)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:138)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:227)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:69)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:199)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:687)
at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:360)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:784)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:582)
My Code almost same just like u provide the difference only on action like this
throws PortalException, SystemException,PortletException {
Pendaftaran pendaftar = ActionUtil.pendaftaranFromRequest(request);
ArrayList<string> errors = new ArrayList<string>();
ServiceContext serviceContext = ServiceContextFactory.getInstance(
Pendaftaran.class.getName(), request);
log.info("masuk");
if (PdValidator.validatePendaftar(pendaftar, errors)&&checkCaptcha(request)) {
log.info("berhasil");
try {
PendaftaranLocalServiceUtil.addPendaftaran(pendaftar,
pendaftar.getUserId(), serviceContext);
} catch (SystemException e) {
errors.add("failed-to-add");
} catch (PortalException e) {
errors.add("failed-to-add");
}
request.setAttribute("pendaftaran", pendaftar);
response.setRenderParameter("jspPage", FileJSP);
} else
{
for (String error : errors) {
SessionErrors.add(request, error);
}
}
}</string></string>
in my jsp I'm adding
<portlet:resourceurl var="captchaURL" />
<liferay-ui:captcha url="<%= captchaURL %>" />
before my submit button
any idea how to resolve that??
thank's
regards
danial
Sandeep Nair, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Is it possible for you to attach the portlet? The exception seems to come in PendaftaranPortlet.checkCaptcha method.
Regards,
Sandeep
Regards,
Sandeep
Danial Habibi, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 141 Beitrittsdatum: 01.11.11 Neueste BeiträgeSandeep Nair:
Is it possible for you to attach the portlet? The exception seems to come in PendaftaranPortlet.checkCaptcha method.
Regards,
Sandeep
Ok I will Attach my Portlet...
Thank's For ur Help,, I've tried about portletsession and i get the session but can't get the captcha attribute from session...
I'm Using plugin SDK LR 6.0.6
Regards
Danial
Anhänge:
Sandeep Nair, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
Hi Danial,
Your code is working perfectly fine. I am attaching the java file
Note: I had to do some changes to make it working in my system
Removed ext-spring.xml as i m using mysql and removed datasource def in service.xml and did build service
Deleted Listener class as that was giving me error
Removed the check of validation for fields as i needed to quickly debug just captcha related code which was working just fine.
Your code is working perfectly fine. I am attaching the java file
Note: I had to do some changes to make it working in my system
Removed ext-spring.xml as i m using mysql and removed datasource def in service.xml and did build service
Deleted Listener class as that was giving me error
Removed the check of validation for fields as i needed to quickly debug just captcha related code which was working just fine.
Anhänge:
Danial Habibi, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 141 Beitrittsdatum: 01.11.11 Neueste BeiträgeSandeep Nair:
Hi Danial,
Your code is working perfectly fine. I am attaching the java file
Note: I had to do some changes to make it working in my system
Removed ext-spring.xml as i m using mysql and removed datasource def in service.xml and did build service
Deleted Listener class as that was giving me error
Removed the check of validation for fields as i needed to quickly debug just captcha related code which was working just fine.
Hi there It seem there's nothing change from java file u attaching with mine....
I still get the error
Internal Error! Captcha text not found in session
18:53:01,566 ERROR [PortletServlet:96] javax.portlet.PortletException: java.lang.NullPointerException
javax.portlet.PortletException: java.lang.NullPointerException
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:156)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:227)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:69)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:199)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:687)
at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:360)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:784)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:582)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:232)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:153)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:508)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:485)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:309)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:121)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:134)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:261)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:110)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:222)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:442)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:45)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:81)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:179)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:240)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.processFilter(ThreadLocalFilter.java:35)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at com.registrasi.unhan.portlet.PendaftaranPortlet.checkCaptcha(PendaftaranPortlet.java:51)
at com.registrasi.unhan.portlet.PendaftaranPortlet.addPendaftar(PendaftaranPortlet.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:138)
... 162 more
18:53:01,577 ERROR [jsp:154] java.lang.NullPointerException
at com.registrasi.unhan.portlet.PendaftaranPortlet.checkCaptcha(PendaftaranPortlet.java:51)
at com.registrasi.unhan.portlet.PendaftaranPortlet.addPendaftar(PendaftaranPortlet.java:78)
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:138)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:227)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:69)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:199)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:638)
at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:687)
at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:360)
at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:784)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:582)
I've managed to show the Captcha but still can't validate...even after I'm using java file u attach...
I've tried to remove my validator so it only validate chaptcha but still I show
Internal Error! Captcha text not found in session
is there something wrong with my portlet session
is this the right syntax?for parameter "CAPTCHA_TEXT"
if (name.contains("CAPTCHA_TEXT")) {
return (String) session.getAttribute(name);
}
in
private String getCaptchaValueFromSession(PortletSession session) {
Enumeration<string> atNames = session.getAttributeNames();
while (atNames.hasMoreElements()) {
String name = atNames.nextElement();
if (name.contains("CAPTCHA_TEXT")) {
return (String) session.getAttribute(name);
}
}
return null;
}</string>
I'm using LR 6.0.6
Thank's
Regards
Danial
Sandeep Nair, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Liferay Legend Beiträge: 1744 Beitrittsdatum: 06.11.08 Neueste Beiträge
It has to be session problem but the strange thing is I havent done any modification related to that to make it work in mine. Can you place a debug in SimpleCaptchaImpl methods serveImage method and check if after setting in session is it available
Regards,
Sandeep
Regards,
Sandeep
Danial Habibi, geändert vor 12 Jahren.
RE: Liferay Captcha validation
Regular Member Beiträge: 141 Beitrittsdatum: 01.11.11 Neueste BeiträgeSandeep Nair:
It has to be session problem but the strange thing is I havent done any modification related to that to make it work in mine. Can you place a debug in SimpleCaptchaImpl methods serveImage method and check if after setting in session is it available
Regards,
Sandeep
Hi there Thank's for your advice, yes it seem there's session problem,, I'm trying to deploy the portlet on other PC, and it's work, Anyway Thank's Again Sandeep For your help