diff options
-rw-r--r-- | id.server/src/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/id.server/src/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id.server/src/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java index 27d91bf1f..74e31e45e 100644 --- a/id.server/src/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java +++ b/id.server/src/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java @@ -2,6 +2,8 @@ package at.gv.egovernment.moa.id.auth.data; import java.util.Date; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.Constants; /** * Session data to be stored between <code>AuthenticationServer</code> API calls. @@ -61,6 +63,8 @@ public class AuthenticationSession { */ private boolean businessService; + private static String TARGET_PREFIX_ = Constants.URN_PREFIX_CDID + "+"; + /** * Constructor for AuthenticationSession. * @@ -160,11 +164,20 @@ public class AuthenticationSession { } /** - * Sets the target. + * Sets the target. If the target includes the target prefix, the prefix will be stripped off. * @param target The target to set */ public void setTarget(String target) { - this.target = target; + if (target != null && target.startsWith(TARGET_PREFIX_)) + { + // If target starts with prefix "urn:publicid:gv.at:cdid+"; remove prefix + this.target = target.substring(TARGET_PREFIX_.length()); + Logger.debug("Target prefix stripped off; resulting target: " + this.target); + } + else + { + this.target = target; + } } /** |