[jboss-svn-commits] JBoss Portal SVN: r5600 - trunk/core/src/main/org/jboss/portal/core/portlet/user
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Nov 8 11:20:51 EST 2006
Author: roy.russo at jboss.com
Date: 2006-11-08 11:20:49 -0500 (Wed, 08 Nov 2006)
New Revision: 5600
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
Log:
JBPORTAL-1076 - fixed user email verification
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2006-11-08 13:14:24 UTC (rev 5599)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2006-11-08 16:20:49 UTC (rev 5600)
@@ -103,6 +103,9 @@
/** Deletes the user */
public static final String OP_DELETEUSER = "deleteUser";
+ /** Activate the user via email link */
+ public static final String OP_ACTIVATEUSER = "activate";
+
private UserModule userModule;
private RoleModule roleModule;
private MailModule mailModule;
@@ -528,6 +531,43 @@
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
rd.include(req, resp);
}
+ else if (OP_ACTIVATEUSER.equals(op))
+ {
+ String hash = req.getParameter(UserPortletConstants.HASH);
+ String userId = req.getParameters().getParameter(UserPortletConstants.USERID);
+
+ User user = null;
+ PortletRequestDispatcher rd;
+ try
+ {
+ user = userModule.findUserById(userId);
+ String hexCompare = Tools.md5AsHexString(user.getUserName() + user.getRegistrationDate() + UserPortletConstants.SALT);
+ if (hash.equals(hexCompare))
+ {
+ user.setEnabled(true);
+ rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/register_ty.jsp");
+ PortalNode currentNode = Navigation.getCurrentNode();
+ PortalNodeURL url = resp.createRenderURL(currentNode);
+ url.setAuthenticated(Boolean.TRUE);
+ if ("1".equals(getPortletConfig().getInitParameter("useSSL")))
+ {
+ url.setSecure(Boolean.TRUE);
+ req.setAttribute("secureURL", url.toString());
+ }
+ url.setSecure(null);
+ req.setAttribute("URL", url.toString());
+ }
+ else
+ {
+ rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
+ }
+ }
+ catch (Exception e)
+ {
+ rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
+ }
+ rd.include(req, resp);
+ }
else
{
log.error("This operation does not exist when user is not logged in:" + op);
@@ -967,8 +1007,9 @@
String rootURL = getPortletConfig().getInitParameter("emailDomain");
PortalNode node = req.getPortalNode();
- PortalNodeURL link = resp.createActionURL(node);
- link.setParameter("op", "activate");
+ //PortalNodeURL link = resp.createActionURL(node);
+ PortalNodeURL link = resp.createRenderURL(node);
+ link.setParameter("op", OP_ACTIVATEUSER);
link.setParameter(UserPortletConstants.USERID, "" + user.getId());
link.setParameter(UserPortletConstants.HASH, hash);
link.setRelative(false);
More information about the jboss-svn-commits
mailing list