diff --git a/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php b/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php index 26815aa26f9d0f3f3fe00fddb48174accdef9677..56b24ee1c0506486b19d0469a29a892979272d51 100755 --- a/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php +++ b/info.textgrid.middleware.tgauth.webauth/WebAuthN/PutAttributes.php @@ -67,6 +67,11 @@ foreach ($attributes as $a) { } } +$file = fopen ("/tmp/xxxUR.log", "w+"); +fwrite ($file, "putting these attrs: ". serialize ($newattributes) ."\n"); +fclose ($file); + + $res = $rbac->setAttributes($newattributes, $Sid, $loginmode ); if ((is_array($res) && $res['success'] == FALSE) || (is_object($res) && $res->result == FALSE)) { echo "something went wrong". serialize($res); diff --git a/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php b/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php index e3c94bbe9763480ee86bf5c44e83355c2894ee16..42fada0d7104efaba9daac96edd468c4519604f3 100644 --- a/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php +++ b/info.textgrid.middleware.tgauth.webauth/WebAuthN/TextGrid-WebAuth.php @@ -73,11 +73,10 @@ if (isset ($_SERVER["REMOTE_USER"])) { // this holds for shib, too ); if (!isset ($ldap)) { $ProvidedAttributes = Array(); - if (isset($_SERVER["givenName"])) { $ProvidedAttributes['givenName'] = $_SERVER["givenName"];} - if (isset($_SERVER["sn"])) { $ProvidedAttributes['sn'] = $_SERVER["sn"];} - if (isset($_SERVER["cn"])) { $ProvidedAttributes['cn'] = $_SERVER["cn"];} - if (isset($_SERVER["mail"])) { $ProvidedAttributes['mail'] = $_SERVER["mail"];} - if (isset($_SERVER["o"])) { $ProvidedAttributes['o'] = $_SERVER["o"];} + // this is the list of attributes Shibboleth might give to us except from remote_user + foreach (array ("o", "sn", "givenName", "cn", "mail") as $a) { + if (isset($_SERVER[$a])) { $ProvidedAttributes[$a] = $_SERVER[$a];} + } } } // This is Variant 3: No Session Creation, but just a desire to see (and update) User Attributes @@ -85,7 +84,7 @@ else if (isset ($_REQUEST["Sid"]) && strlen($_REQUEST["Sid"]) > 0 ) { // we might have come directly here using the sid and use an earlier session $Sid = $_REQUEST["Sid"]; } else { - trigger_error("WebAuth does not know what to do, exiting.", E_USER_WARNING); + trigger_error("WebAuth does not know what to do (no login provided, no remote user, and no session Id), exiting.", E_USER_WARNING); exit; } diff --git a/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php b/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php index 82943823ed21e7a59caf8272f6bc4c2bec35f313..78fedd0138631ec01971ee8c10eb89050e026f6b 100644 --- a/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php +++ b/info.textgrid.middleware.tgauth.webauth/tglib/WebUtils.class.php @@ -178,8 +178,10 @@ class WebUtils { if (isset ($a->value)) { $oldval = $a->value; } + $providedreadonly = ""; if (isset($attrMap[$a->name]) && isset($providedAttrs[$attrMap[$a->name]])) { $oldval = $providedAttrs[$attrMap[$a->name]]; + $providedreadonly = " readonly=\"readonly\""; } if ($this->isBoolean ($a)) { if ($oldval === "TRUE") { @@ -203,7 +205,7 @@ class WebUtils { $this->formatISO3166list( $a->name, $oldval); echo "</td>\n"; } else { // assume string - echo "<td><input type=\"text\" size=\"50\" name=\"". $a->name . "\" value=\"". $oldval ."\"/></td>\n"; + echo "<td><input type=\"text\" size=\"50\" name=\"". $a->name . "\" value=\"${oldval}\"${providedreadonly}/></td>\n"; } echo "<td><div onmouseover=\"this.innerHTML = '". $a->description ."'\"\n"; echo " onmouseout=\"this.innerHTML = '?'\"> ?</div></td></tr>\n";