diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-03-17 11:35:59 +0100 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-03-17 11:35:59 +0100 | 
| commit | ab9c1d3b201ca110f33831133a85ea2da353e5d8 (patch) | |
| tree | d1f5f775900abba04bad20027b714d993be0ecca /id/server | |
| parent | a442134f88a2e766ea6fdce9b80075c5a9a8b420 (diff) | |
| download | moa-id-spss-ab9c1d3b201ca110f33831133a85ea2da353e5d8.tar.gz moa-id-spss-ab9c1d3b201ca110f33831133a85ea2da353e5d8.tar.bz2 moa-id-spss-ab9c1d3b201ca110f33831133a85ea2da353e5d8.zip | |
change mandate profile configuration
Diffstat (limited to 'id/server')
6 files changed, 57 insertions, 18 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java index 4f722c8b3..7a4bc03f8 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java @@ -50,6 +50,7 @@ import iaik.pki.PKIException;  import java.io.IOException;  import java.security.GeneralSecurityException; +import java.util.List;  import java.util.Map;  import javax.net.ssl.SSLSocketFactory; @@ -220,17 +221,17 @@ public class VerifyAuthenticationBlockServlet extends AuthServlet {  			        String oaURL = session.getOAURLRequested();  			        OAAuthParameter oaParam = authConf.getOnlineApplicationParameter(oaURL); -			        String profiles = oaParam.getMandateProfiles(); +			        List<String> profiles = oaParam.getMandateProfiles();  			        if (profiles == null) {  			      	  Logger.error("No Mandate/Profile for OA configured.");  			      	  throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID});  			        } -			        String profilesArray[] = profiles.split(",");  	 		  -			        for(int i = 0; i < profilesArray.length; i++) { -			      	  profilesArray[i] = profilesArray[i].trim(); -			        } +//			        String profilesArray[] = profiles.split(",");  	 		  +//			        for(int i = 0; i < profilesArray.length; i++) { +//			      	  profilesArray[i] = profilesArray[i].trim(); +//			        }  			        String oaFriendlyName = oaParam.getFriendlyName();  			        String mandateReferenceValue = session.getMandateReferenceValue(); @@ -249,7 +250,7 @@ public class VerifyAuthenticationBlockServlet extends AuthServlet {  			        	targetType = AuthenticationSession.TARGET_PREFIX_ + oaParam.getTarget();  			        } -			        MISSessionId misSessionID = MISSimpleClient.sendSessionIdRequest(connectionParameters.getUrl(), idl, cert, oaFriendlyName, redirectURL, mandateReferenceValue, profilesArray, targetType, sslFactory); +			        MISSessionId misSessionID = MISSimpleClient.sendSessionIdRequest(connectionParameters.getUrl(), idl, cert, oaFriendlyName, redirectURL, mandateReferenceValue, profiles, targetType, sslFactory);  			        if (misSessionID == null) {  			      	  Logger.error("Fehler bei Anfrage an Vollmachten Service. MIS Session ID ist null."); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java index c5f0dbd49..fd0d2298a 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java @@ -125,7 +125,7 @@ public class STORKResponseProcessor {  	 * @return Identity Link
  	 * @throws STORKException the sTORK exception
  	 */
 -	public static IdentityLink connectToSZRGateway(IPersonalAttributeList attributeList, String oaFriendlyName, String targetType, String targetValue, String filters) throws STORKException {
 +	public static IdentityLink connectToSZRGateway(IPersonalAttributeList attributeList, String oaFriendlyName, String targetType, String targetValue, List<String> filters) throws STORKException {
  		Logger.trace("Calling SZR Gateway with the following attributes:");
  		CreateIdentityLinkResponse identityLinkResponse = null;
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java index 8e7ca0779..50b870c98 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java @@ -56,6 +56,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.BKUSelectionCustomizationT  import at.gv.egovernment.moa.id.commons.db.dao.config.BKUURLS;  import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;  import at.gv.egovernment.moa.id.commons.db.dao.config.Mandates; +import at.gv.egovernment.moa.id.commons.db.dao.config.MandatesProfileNameItem;  import at.gv.egovernment.moa.id.commons.db.dao.config.OAPVP2;  import at.gv.egovernment.moa.id.commons.db.dao.config.OASAML1;  import at.gv.egovernment.moa.id.commons.db.dao.config.OASSO; @@ -221,13 +222,32 @@ public List<String> getTransformsInfos() {  /**   * @return the mandateProfiles   */ -public String getMandateProfiles() { +public List<String> getMandateProfiles() {  	Mandates mandates = oa_auth.getMandates(); -	if (mandates != null) -		return mandates.getProfiles(); -	else +	List<String> list = new ArrayList<String>(); +	 +	if (mandates != null) { +		String oldProfilList = mandates.getProfiles();		 +		 +		List<MandatesProfileNameItem> profileList = mandates.getProfileNameItems(); +		for (MandatesProfileNameItem el : profileList) { +			list.add(el.getItem()); +			 +		} + +		//only for RC1  +		if (MiscUtil.isNotEmpty(oldProfilList)) { +	        String profilesArray[] = oldProfilList.split(",");  	 		  +	        for(int i = 0; i < profilesArray.length; i++) { +	      	  list.add(profilesArray[i].trim()); +	        } +		} +		 +		return list; +		 +	} else  		return null;  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java index 7039bdb7f..68d934036 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java @@ -28,6 +28,8 @@ import java.io.FileInputStream;  import java.io.IOException;  import java.io.InputStream;  import java.math.BigInteger; +import java.net.URL; +import java.nio.file.Path;  import java.util.ArrayList;  import java.util.Arrays;  import java.util.Collections; @@ -55,6 +57,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;  import at.gv.egovernment.moa.id.commons.db.dao.config.MOAKeyBoxSelector;  import at.gv.egovernment.moa.id.commons.db.dao.config.MOASP;  import at.gv.egovernment.moa.id.commons.db.dao.config.Mandates; +import at.gv.egovernment.moa.id.commons.db.dao.config.MandatesProfileNameItem;  import at.gv.egovernment.moa.id.commons.db.dao.config.OAPVP2;  import at.gv.egovernment.moa.id.commons.db.dao.config.OASAML1;  import at.gv.egovernment.moa.id.commons.db.dao.config.OASSO; @@ -83,6 +86,7 @@ import at.gv.egovernment.moa.id.data.IssuerAndSerial;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.Base64Utils;  import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moa.util.FileUtils;  import at.gv.egovernment.moa.util.MiscUtil;  public class BuildFromLegacyConfig { @@ -237,7 +241,9 @@ public class BuildFromLegacyConfig {  	    		for (int i=0; i<transformsInfos.length; i++) {  	    			TransformsInfoType transforminfotype = new TransformsInfoType(); -	    			transforminfotype.setFilename(transformsInfoFileNames[i]); +	    				    			 +	    			Path fileName_ = new File(transformsInfoFileNames[i]).toPath().getFileName();	    				    			 +	    			transforminfotype.setFilename(fileName_.toString());  	    			transforminfotype.setTransformation(Base64Utils.encode(transformsInfos[i].getBytes("UTF-8")).getBytes("UTF-8"));  	    			auth_transformInfos.add(transforminfotype);  @@ -407,7 +413,18 @@ public class BuildFromLegacyConfig {  	        	//set Mandates  	        	Mandates oa_mandates = new Mandates();  	        	oa_auth.setMandates(oa_mandates); -	        	oa_mandates.setProfiles(oa.getMandateProfiles()); +	        	List<MandatesProfileNameItem> profileList = new ArrayList<MandatesProfileNameItem>(); +	        	 +	        	String oldProfiles = oa.getMandateProfiles(); +	        	if (MiscUtil.isNotEmpty(oldProfiles)) { +		        	String[] oldprofileList = oldProfiles.split(","); +		        	for (int i=0; i<oldprofileList.length; i++) { +		        		MandatesProfileNameItem item = new MandatesProfileNameItem(); +		        		item.setItem(oldprofileList[i].trim()); +		        		profileList.add(item); +		        	} +					oa_mandates.setProfileNameItems(profileList ); +	        	}  	        	//STORK  	        	//TODO: OA specific STORK config is deactivated in MOA 1.5.2 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java index c0fde8146..200c60578 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java @@ -157,7 +157,7 @@ public class MISSimpleClient {  		} 
  	}
 -	public static MISSessionId sendSessionIdRequest(String webServiceURL, byte[] idl, byte[] cert, String oaFriendlyName, String redirectURL, String referenceValue, String mandateIdentifier[], String targetType, SSLSocketFactory sSLSocketFactory) throws MISSimpleClientException {
 +	public static MISSessionId sendSessionIdRequest(String webServiceURL, byte[] idl, byte[] cert, String oaFriendlyName, String redirectURL, String referenceValue, List<String> mandateIdentifier, String targetType, SSLSocketFactory sSLSocketFactory) throws MISSimpleClientException {
  		if (webServiceURL == null) {
  			throw new NullPointerException("Argument webServiceURL must not be null.");
  		}
 @@ -205,12 +205,12 @@ public class MISSimpleClient {  			referenceValueElement.appendChild(doc.createTextNode(referenceValue));
  			mirElement.appendChild(referenceValueElement);
 -			if (mandateIdentifier != null && mandateIdentifier.length > 0) {
 +			if (mandateIdentifier != null && mandateIdentifier.size() > 0) {
  				Element filtersElement = doc.createElementNS(MIS_NS, "Filters");
  				Element mandateIdentifiersElement = doc.createElementNS(MIS_NS, "MandateIdentifiers");
 -				for (int i=0; i<mandateIdentifier.length; i++) {
 +				for (int i=0; i<mandateIdentifier.size(); i++) {
  					Element mandateIdentifierElement = doc.createElementNS(MIS_NS, "MandateIdentifier");
 -					mandateIdentifierElement.appendChild(doc.createTextNode(mandateIdentifier[i]));
 +					mandateIdentifierElement.appendChild(doc.createTextNode(mandateIdentifier.get(i)));
  					mandateIdentifiersElement.appendChild(mandateIdentifierElement);
  				}
  				filtersElement.appendChild(mandateIdentifiersElement);
 diff --git a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd index e6705dbb8..7d84cfce7 100644 --- a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd +++ b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd @@ -506,7 +506,8 @@  						<xsd:element name="Mandates" minOccurs="0">  							<xsd:complexType>  								<xsd:sequence> -									<xsd:element name="Profiles" type="xsd:string"/> +										<xsd:element name="Profiles" type="xsd:string"/> +										<xsd:element name="ProfileName" type="xsd:string" minOccurs="0" maxOccurs="unbounded"></xsd:element>  								</xsd:sequence>  							</xsd:complexType>  						</xsd:element> | 
