[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