Added more scanning for external-auth attributes

This commit is contained in:
Robin Eklund 2011-07-26 10:31:22 +02:00
parent 265fd6a8da
commit 7c23588724

@ -33,17 +33,41 @@ public class AdminServerEnvironmentSettingsPage extends AbstractAdminSettingsPag
List<KeyValuePair<String>> list = new ArrayList<KeyValuePair<String>>();
list.add(new KeyValuePair<String>("[CALL] getRemoteUser",rawRequest.getRemoteUser()));
list.add(new KeyValuePair<String>("[CALL] getAuthType",rawRequest.getAuthType()));
@SuppressWarnings("rawtypes") Enumeration attributes = rawRequest.getAttributeNames();
while(attributes.hasMoreElements()){
final String key = (String)attributes.nextElement();
final String value = rawRequest.getAttribute(key).toString();
list.add(new KeyValuePair<String>("[ATTR] "+key,value));
addManualAttributes(rawRequest,list);
{
@SuppressWarnings("rawtypes") Enumeration attributes = rawRequest.getAttributeNames();
while(attributes.hasMoreElements()){
final String key = (String)attributes.nextElement();
final String value = rawRequest.getAttribute(key).toString();
list.add(new KeyValuePair<String>("[ATTR] "+key,value));
}
}
Map<String,String> envs = System.getenv();
for(String key : envs.keySet()){
list.add(new KeyValuePair<String>("[ENV] "+key,envs.get(key)));
{
@SuppressWarnings("rawtypes") Enumeration headers = rawRequest.getHeaderNames();
while(headers.hasMoreElements()){
final String key = (String)headers.nextElement();
final String value = rawRequest.getHeader(key);
list.add(new KeyValuePair<String>("[HEAD] "+key,value));
}
}
{
Map<String,String> envs = System.getenv();
for(String key : envs.keySet()){
list.add(new KeyValuePair<String>("[ENV] "+key,envs.get(key)));
}
}
return list;
}
private void addManualAttributes(final HttpServletRequest request, final List<KeyValuePair<String>> list){
final String[] attrs = {"Shib-Application-ID","Shib-Session-ID","Shib-Identity-Provider",
"Shib-Authentication-Instant","Shib-Authentication-Method","Shib-AuthnContext-Class",
"Shib-AuthnContext-Decl","Shib-Identity-Provider","mail","cn","eppn","gidNumber","givenName","sn","uid","memberOf"};
for(final String attr : attrs){
if(request.getAttribute(attr) != null)
list.add(new KeyValuePair<String>("[M-ATTR] "+attr,request.getAttribute(attr).toString()));
if(request.getHeader(attr) != null)
list.add(new KeyValuePair<String>("[M-HEAD] "+attr,request.getHeader(attr)));
}
}
}