Author: tyrell
Date: Sat Mar  1 09:54:49 2008
New Revision: 14395

Log:

MASHUP-639

Modified:
   trunk/mashup/java/modules/core/conf/server.xml
   trunk/mashup/java/modules/www/signin.jsp

Modified: trunk/mashup/java/modules/core/conf/server.xml
==============================================================================
--- trunk/mashup/java/modules/core/conf/server.xml      (original)
+++ trunk/mashup/java/modules/core/conf/server.xml      Sat Mar  1 09:54:49 2008
@@ -176,8 +176,7 @@
 
     <!--Used to configure session management attributes-->
     <SessionManagement>
-        <!--The time period (in days) to remember a user session, when one 
selects 'Remember Me' in the UI.
-         Setting to -1 means remember indefinetely.
+        <!--The time period (in days) to remember a user session, when one 
selects 'Remember Me' in the UI.          
         -->
           <RememberMePeriod>14</RememberMePeriod>
     </SessionManagement>

Modified: trunk/mashup/java/modules/www/signin.jsp
==============================================================================
--- trunk/mashup/java/modules/www/signin.jsp    (original)
+++ trunk/mashup/java/modules/www/signin.jsp    Sat Mar  1 09:54:49 2008
@@ -80,6 +80,7 @@
     String nameProvided = request.getParameter("userName");
     String passwordProvided = request.getParameter("password");
     String rememberMe = request.getParameter("rememberme");
+    String rememberMeForever = request.getParameter("remembermeforever");
 
     if (firsttime != null) {
         // Prevent login using default profiles.
@@ -94,7 +95,8 @@
                 JDBCRegistry jdbcRegistry = (JDBCRegistry) 
context.getAttribute(
                         RegistryConstants.REGISTRY);
 
-                UserRealm realm = (UserRealm) 
context.getAttribute(RegistryConstants.REGISTRY_REALM);
+                UserRealm realm =
+                        (UserRealm) 
context.getAttribute(RegistryConstants.REGISTRY_REALM);
                 MashupUtils.login(nameProvided, passwordProvided, 
session.getId());
 
                 SecureRegistry secureRegistry =
@@ -105,20 +107,26 @@
                     request.getSession()
                             .setAttribute(MashupConstants.USER_REGISTRY, 
secureRegistry);
 
-                    ServerConfiguration serverConfig = 
ServerConfiguration.getInstance();
-                    String rememberPeriod =
-                            
serverConfig.getFirstProperty(MashupConstants.SESSION_MANAGEMENT + "." +
-                                    MashupConstants.REMEMBER_ME_PERIOD);
-                    if (rememberPeriod != null) {
-                        int numDays = 0;
-                        try {
-                            numDays = Integer.parseInt(rememberPeriod);
-                        } catch (NumberFormatException e) {
-                        }
-                        int expireIn = 60 * 60 * 24 * numDays;
+                    //Checking whether the user has opted to remember the 
session
+                    if (rememberMe.equalsIgnoreCase("true")) {
+
+                        ServerConfiguration serverConfig = 
ServerConfiguration.getInstance();
+                        String rememberPeriod =
+                                serverConfig
+                                        
.getFirstProperty(MashupConstants.SESSION_MANAGEMENT + "." +
+                                                
MashupConstants.REMEMBER_ME_PERIOD);
+                        if (rememberPeriod != null) {
+                            int numDays = 0;
+                            try {
+                                numDays = Integer.parseInt(rememberPeriod);
+                            } catch (NumberFormatException e) {
+                            }
+                            int expireIn = 60 * 60 * 24 * numDays;
+                            int longerExpDays = 60 * 60 * 24 * 365 * 2; //2 
years
+                            if((rememberMeForever.equalsIgnoreCase("true")) && 
(numDays <= longerExpDays)){
+                                expireIn = longerExpDays;
+                            }
 
-                        //Checking whether the user has opted to remember the 
session
-                        if (rememberMe.equalsIgnoreCase("true")) {
                             //Saving the remember me option
                             Cookie rememberMeCookie = new Cookie("rememberMe", 
rememberMe);
                             rememberMeCookie.setMaxAge(expireIn);
@@ -173,6 +181,22 @@
                 remMe.value = "true";
             } else {
                 remMe.value = "false";
+                document.getElementById("chkRememberForever").checked = false;
+                document.getElementById("remembermeforever").value = false;
+            }
+        }
+
+        function setRememberMeForever() {
+            document.getElementById("chkRemember").checked = true;
+            document.getElementById("rememberme").value = true;
+
+            var val = document.getElementById("chkRememberForever").checked;
+            var remMeForever = document.getElementById("remembermeforever");
+
+            if (val) {
+                remMeForever.value = "true";
+            } else {
+                remMeForever.value = "false";
             }
         }
 
@@ -192,17 +216,23 @@
                         <input type="hidden" name="firsttime" value="false"/>
                         <input type="hidden" name="bounceback" 
value="<%=bounceback%>"/>
                         <input type="hidden" id="rememberme" name="rememberme" 
value="false"/>
+                        <input type="hidden" id="remembermeforever" 
name="remembermeforever"
+                               value="false"/>
                         <br/>
                         <table width="675" border="0" cellpadding="3" 
cellspacing="0"
                                class="box" align="center">
                             <tr>
-                                <th>Sign-in to <%= 
bundle.getString("main.title")%></th>
-                                <th width="50%">Use InfoCard to enter <%= 
bundle.getString("main.title")%></th>
+                                <th>Sign-in to <%= 
bundle.getString("main.title")%>
+                                </th>
+                                <th width="50%">Use InfoCard to enter <%= 
bundle
+                                        .getString("main.title")%>
+                                </th>
                             </tr>
                             <tr>
                                 <td height="175">
                                     <% if (!success) { %>
-                                    <div class="error">Invalid user or 
password. Please try again.</div>
+                                    <div class="error">Invalid user or 
password. Please try again.
+                                    </div>
                                     <% } %>
                                     <label style="margin-right:2px; 
"><strong>User
                                         Name:</strong></label><input
@@ -222,6 +252,32 @@
                                             onclick="setRememberMe();"><label
                                             style="text-align: left; ">
                                         Remember me on this 
computer</label><br><br></div>
+                                    <%
+                                        ServerConfiguration serverConfig =
+                                                
ServerConfiguration.getInstance();
+                                        String rememberPeriod = 
serverConfig.getFirstProperty(
+                                                
MashupConstants.SESSION_MANAGEMENT + "." +
+                                                        
MashupConstants.REMEMBER_ME_PERIOD);
+                                        int numDays = 0;
+                                        int longerExpDays = 60 * 60 * 24 * 365 
* 2; //2 years
+                                        try {
+                                            numDays = 
Integer.parseInt(rememberPeriod);
+                                        } catch (NumberFormatException e) {
+                                        }
+                                        if 
((MashupUtils.isFromLocalHost(request)) &&
+                                                (numDays <= longerExpDays)) {
+                                    %>
+                                    <div style="width:100%;"><input
+                                            type="checkbox" 
id="chkRememberForever"
+                                            
onclick="setRememberMeForever();"><label
+                                            style="text-align: left; ">
+                                        If you chose to remember your login 
information, it will be
+                                        stored for <%=numDays%> days. However, 
since you are signing
+                                        in from local host, you can choose to 
remember your login
+                                        indefinetely by checking this box. 
</label><br><br></div>
+                                    <%
+                                        }
+                                    %>
                                     <div><input
                                             type="submit"
                                             id="signin"
@@ -242,10 +298,11 @@
                             </tr>
                             <tr>
                                 <td>
-                                   <a 
href="reset_password.jsp?firstcall=true&bounceback=<%=URLEncoder.encode(bounceback,"UTF-8")%>">Forgot
 Password?</a>
+                                    <a 
href="reset_password.jsp?firstcall=true&bounceback=<%=URLEncoder.encode(bounceback,"UTF-8")%>">Forgot
+                                        Password?</a>
                                 </td>
                             </tr>
-                      </table>
+                        </table>
                         <br/>
                         <br/>
                     </form>

_______________________________________________
Mashup-dev mailing list
[email protected]
http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev

Reply via email to