Author: prabath
Date: Wed Feb 13 04:40:19 2008
New Revision: 13698
Log:
'remember me' functionality added
Modified:
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
Modified:
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
==============================================================================
---
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
(original)
+++
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
Wed Feb 13 04:40:19 2008
@@ -1,5 +1,16 @@
package org.wso2.solutions.identity.user.ui.action;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.struts2.StrutsStatics;
+import org.openid4java.message.ParameterList;
+import org.wso2.solutions.identity.user.ui.util.UserUtil;
+
+import com.opensymphony.xwork2.ActionContext;
+
public class OpenIDAuthenticationAction extends ManagedAction {
private static final long serialVersionUID = 2379986821364538695L;
@@ -10,7 +21,52 @@
*/
public String execute() throws Exception {
+ ActionContext context = null;
+ HttpServletRequest request = null;
+ HttpServletResponse response = null;
+ ParameterList requestParam = null;
+ HttpSession session = null;
+ String openID = null;
+
+ context = ActionContext.getContext();
+ request = (HttpServletRequest) context.get(StrutsStatics.HTTP_REQUEST);
+ response = (HttpServletResponse) context
+ .get(StrutsStatics.HTTP_RESPONSE);
+ session = request.getSession();
+ requestParam = (ParameterList) session.getAttribute("parameterlist");
+ openID = requestParam.getParameter("openid.identity").getValue();
+
loadMessages();
+
+ // Check whether the remember me option is set
+ Cookie[] cookies = request.getCookies();
+
+ boolean remembereme = false;
+ String openidurl = null;
+ String password = null;
+
+ if (cookies != null) {
+
+ Cookie curCookie = null;
+ for (int x = 0; x < cookies.length; x++) {
+ curCookie = cookies[x];
+ if (curCookie.getName().equalsIgnoreCase("rememberme")) {
+ remembereme = true;
+ } else if (curCookie.getName().equalsIgnoreCase("openid")) {
+ openidurl = curCookie.getValue();
+ } else if (curCookie.getName().equalsIgnoreCase("password")) {
+ password = new String(new sun.misc.BASE64Decoder()
+ .decodeBuffer(curCookie.getValue()), "UTF-8");
+ }
+ }
+
+ if (remembereme && openidurl != null && openidurl.equals(openID)
+ && password != null) {
+ session.setAttribute("password", password);
+ response.sendRedirect("OpenIDAuthVerification.action");
+ }
+ }
+
return SUCCESS;
}
_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev