Index: cas.module
===================================================================
--- cas.module	(revision 442)
+++ cas.module	(working copy)
@@ -60,7 +60,12 @@
   global $user, $account;
 
   if ($user->uid) {
-    //do nothing because user is already logged into Drupal
+    //check if user has elected to be remembered
+    $edit = array();
+    if (module_exists('persistent_login') && $_GET['rememberme'] && variable_get('cas_allow_rememberme', 0)) {
+      $edit['persistent_login'] = 1;
+    }
+    module_invoke_all('user', 'login', $edit, $user);
   }
   elseif ( _cas_force_login()){
      $cas_user_register = variable_get('cas_user_register',1);
@@ -205,6 +210,9 @@
 
        module_invoke_all('user', 'login', null, $user);
        drupal_set_message(t(variable_get('cas_login_message', 'Logged in via CAS as %cas_username.'), array('%cas_username' => $user->name)));
+       if(module_exists('persistent_login') && variable_get('cas_allow_rememberme', 0)) {
+         drupal_set_message(t('Click <a href="'.drupal_get_path_alias().'?rememberme=1">here</a> to stay logged in between browser sessions (do not use on a public computer)'));
+       }
        watchdog('user', 'Session opened for %name.', array('%name' => $user->name));
       // We can't count on the menu because we're changing login states.
       cas_login_page();
@@ -386,6 +394,13 @@
     '#default_value' => variable_get('cas_hide_password', 0),
     '#description' => t('Hide password field on the edit user form.'),
     );
+
+  $form['account']['cas_allow_rememberme'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Users can stay logged in between sessions'),
+    '#default_value' => variable_get('cas_allow_rememberme', 0),
+    '#description' => t('If Persistent Login is enabled, users can choose to stay logged in between browser sessions'),
+    );
   
   $form['account']['cas_auto_assigned_role'] = array(
     '#type' => 'select', 
