diff --git a/sites/all/modules/unl/unl.module b/sites/all/modules/unl/unl.module
index c13336c6dcf7d5eb8c5ec65a318f8bae52cd7208..0a7cf5b318e89aa5c62c371c14ad268ef94cc913 100644
--- a/sites/all/modules/unl/unl.module
+++ b/sites/all/modules/unl/unl.module
@@ -126,6 +126,18 @@ function unl_form_alter(&$form, $form_state, $form_id) {
   if ($form_id == 'menu_edit_item' && $form['mlid']['#value'] == 0) {
     $form['expanded']['#default_value'] = TRUE;
   }
+  if ($form_id == 'system_site_information_settings') {
+    $form['site_information']['https'] = array(
+      '#type' => 'checkbox',
+      '#title' => 'SSL Enabled',
+      '#default_value' => variable_get('https', FALSE),
+    );
+    $form['#submit'][] = 'unl_system_settings_form_submit';
+  }
+}
+
+function unl_system_settings_form_submit($form, &$form_state) {
+  variable_set('https', (bool) $form_state['values']['https']);
 }
 
 function unl_theme() {
@@ -136,6 +148,23 @@ function unl_theme() {
   );
 }
 
-
+function unl_url_outbound_alter(&$path, &$options, $original_path) {
+  $path_parts = parse_url($path);
+  if (isset($path_parts['scheme']) || $path == 'user/cas') {
+    return;
+  }
+  
+  $user = $GLOBALS['user'];
+  $user_roles = array_keys($user->roles);
+  $generic_user = TRUE;
+  foreach ($user_roles as $user_role) {
+    if (in_array($user_role, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) {
+      continue;
+    }
+    $generic_user = FALSE;
+  }
+  
+  $options['https'] = (bool) (variable_get('https', 0) && !$generic_user);
+}
 
 
diff --git a/sites/all/modules/unl/unl_cas.module b/sites/all/modules/unl/unl_cas.module
index 76ce8fd0dc8a85d68effd3e045c58e466925a032..339d9e6ecb15799225b4d38ef3ee0f218f37796b 100644
--- a/sites/all/modules/unl/unl_cas.module
+++ b/sites/all/modules/unl/unl_cas.module
@@ -31,7 +31,12 @@ function unl_cas_init() {
 function unl_cas_get_adapter() {
   static $adapter;
   if (!$adapter) {
-    $adapter = new Unl_Cas(url('user/cas', array('absolute' => TRUE)), 'https://login.unl.edu/cas');
+    if (variable_get('https', FALSE)) {
+      $url = url('user/cas', array('absolute' => TRUE, 'https' => TRUE));
+    } else {
+      $url = url('user/cas', array('absolute' => TRUE));
+    }
+    $adapter = new Unl_Cas($url, 'https://login.unl.edu/cas');
   }
   return $adapter;
 }