mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-17 15:03:18 +00:00
DS-1906: Adds configurable option to reconvert shibboleth attributes.
This commit is contained in:
@@ -26,6 +26,7 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
@@ -1094,6 +1095,22 @@ public class ShibAuthentication implements AuthenticationMethod
|
|||||||
value = request.getHeader(name.toLowerCase());
|
value = request.getHeader(name.toLowerCase());
|
||||||
if (StringUtils.isEmpty(value))
|
if (StringUtils.isEmpty(value))
|
||||||
value = request.getHeader(name.toUpperCase());
|
value = request.getHeader(name.toUpperCase());
|
||||||
|
|
||||||
|
boolean reconvertAttributes =
|
||||||
|
ConfigurationManager.getBooleanProperty(
|
||||||
|
"authentication-shibboleth",
|
||||||
|
"reconvert.attributes",
|
||||||
|
false);
|
||||||
|
|
||||||
|
if (reconvertAttributes)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
|
||||||
|
} catch (UnsupportedEncodingException ex) {
|
||||||
|
log.warn("Failed to reconvert shibboleth attribute ("
|
||||||
|
+ name + ").", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
@@ -137,6 +137,12 @@ lastname-header = SHIB-SURNAME
|
|||||||
# If the eperson metadata field is not found, should it be automatically created?
|
# If the eperson metadata field is not found, should it be automatically created?
|
||||||
eperson.metadata.autocreate = true;
|
eperson.metadata.autocreate = true;
|
||||||
|
|
||||||
|
# Shibboleth attributes are by default UTF-8 encoded. Some servlet container
|
||||||
|
# automatically converts the attributes from ISO-8859-1 (latin-1) to UTF-8.
|
||||||
|
# As the attributes already were UTF-8 encoded it may be necessary to reconvert
|
||||||
|
# them. If you detect problems with special characters in shibboleth attributes
|
||||||
|
# set this to true (default to false).
|
||||||
|
reconvert.attributes = false
|
||||||
|
|
||||||
##
|
##
|
||||||
## Role-based Groups:
|
## Role-based Groups:
|
||||||
|
Reference in New Issue
Block a user