Changeset 5523
- Timestamp:
- 08/05/14 15:41:36 (10 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/ApplicationSession.java
r5522 r5523 6 6 import java.security.Principal; 7 7 import java.util.regex.Pattern; 8 import org.apache.http.auth.BasicUserPrincipal;8 import javax.servlet.http.HttpServletRequest; 9 9 import org.apache.wicket.Request; 10 import org.apache.wicket.RequestCycle; 10 11 import org.apache.wicket.authentication.AuthenticatedWebSession; 11 12 import org.apache.wicket.authorization.strategies.role.Roles; 13 import org.apache.wicket.protocol.http.servlet.ServletWebRequest; 12 14 import org.slf4j.Logger; 13 15 import org.slf4j.LoggerFactory; … … 63 65 64 66 public Principal getPrincipal() { 65 return new BasicUserPrincipal(getUser()); 67 ServletWebRequest servletWebRequest = (ServletWebRequest) RequestCycle.get().getRequest(); 68 HttpServletRequest request = servletWebRequest.getHttpServletRequest(); 69 return request.getUserPrincipal(); 66 70 } 67 71 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/service/impl/SAMLCreatorProvider.java
r5522 r5523 6 6 import eu.clarin.cmdi.virtualcollectionregistry.service.CreatorProvider; 7 7 import java.security.Principal; 8 import org.slf4j.Logger; 9 import org.slf4j.LoggerFactory; 8 10 9 11 /** … … 13 15 public class SAMLCreatorProvider implements CreatorProvider { 14 16 17 private final static Logger logger = LoggerFactory.getLogger(SAMLCreatorProvider.class); 18 public static final String[] DISPLAY_NAME_ATTRIBUTE = new String[]{"cn", "commonName", "displayName"}; 19 public static final String[] ORGANISATION_ATTRIBUTE = new String[]{"o", "organizationName", "schacHomeOrganization"}; 20 public static final String[] MAIL_ATTRIBUTE = new String[]{"mail"}; 21 15 22 @Override 16 23 public Creator getCreator(Principal userPrincipal) { 17 final Creator creator = new Creator(); 24 final Creator creator = new Creator(); 18 25 if (userPrincipal instanceof AuthPrincipal) { 19 26 final AuthPrincipal principal = (AuthPrincipal) userPrincipal; 20 creator.setPerson(getAttribute(principal, "cn")); //TODO: configure more properties 21 } else { 27 creator.setPerson(getAttribute(principal, DISPLAY_NAME_ATTRIBUTE)); 28 creator.setOrganisation(getAttribute(principal, ORGANISATION_ATTRIBUTE)); 29 creator.setEMail(getAttribute(principal, MAIL_ATTRIBUTE)); 30 } 31 32 if (creator.getPerson() == null) { 22 33 creator.setPerson(userPrincipal.getName()); 23 34 } … … 26 37 } 27 38 28 private static String getAttribute(final AuthPrincipal principal, String attr) { 29 // logger.trace("Looking for attribute {}", attr); 30 final AuthAttribute<?> attribute = principal.getAttribues().get(attr); 31 if (attribute != null) { 39 private static String getAttribute(final AuthPrincipal principal, String[] attrs) { 40 for (String attr : attrs) { 41 final String value = getAttributeValue(principal, attr); 42 if (value != null) { 43 return value; 44 } 45 } 46 return null; 47 } 48 49 private static String getAttributeValue(final AuthPrincipal principal, String attr) { 50 logger.trace("Looking for attribute {}", attr); 51 final AuthAttribute<?> attribute = principal.getAttribues().get(attr); 52 if (attribute != null) { 32 53 final Object value = attribute.getValue(); 33 54 if (value != null) { 34 //logger.trace("Found attribute value: {} = {}", attr, value);55 logger.trace("Found attribute value: {} = {}", attr, value); 35 56 return value.toString(); 36 57 } -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/webapp/WEB-INF/shhaa.xml
r5416 r5523 32 32 <composition action="rF"> 33 33 <shibheader> 34 <attribute>cn</attribute> 35 <attribute>commonName</attribute> 34 36 <attribute>displayName</attribute> 35 <attribute>commonName</attribute> 37 38 <attribute>mail</attribute> 39 40 <attribute>o</attribute> 41 <attribute>organizationName</attribute> 42 <attribute>schacHomeOrganization</attribute> 43 36 44 </shibheader> 37 45 </composition>
Note: See TracChangeset
for help on using the changeset viewer.