aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2014-04-03 10:05:38 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2014-04-03 10:05:38 +0200
commit80580d72ba7f5af54b77ef1b47c42005e0b5ded8 (patch)
tree67ac78fdc9a546f721a813727c384eb713bb773a /id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
parent38f6c7b91e28ed17078812448b8a0b5a37c29321 (diff)
downloadmoa-id-spss-80580d72ba7f5af54b77ef1b47c42005e0b5ded8.tar.gz
moa-id-spss-80580d72ba7f5af54b77ef1b47c42005e0b5ded8.tar.bz2
moa-id-spss-80580d72ba7f5af54b77ef1b47c42005e0b5ded8.zip
refactor Struts action classes
Diffstat (limited to 'id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java145
1 files changed, 73 insertions, 72 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
index 78812769f..d04592aa3 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
@@ -32,13 +32,10 @@ import java.util.Locale;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.log4j.Logger;
-import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.ServletResponseAware;
import org.joda.time.DateTime;
import org.opensaml.common.SAMLObject;
import org.opensaml.common.binding.BasicSAMLMessageContext;
@@ -52,8 +49,6 @@ import org.opensaml.saml2.core.NameID;
import org.opensaml.saml2.core.Response;
import org.opensaml.saml2.core.StatusCode;
import org.opensaml.saml2.core.Subject;
-import org.opensaml.saml2.core.SubjectConfirmation;
-import org.opensaml.saml2.core.SubjectConfirmationData;
import org.opensaml.saml2.encryption.Decrypter;
import org.opensaml.saml2.encryption.EncryptedElementTypeEncryptedKeyResolver;
import org.opensaml.saml2.metadata.IDPSSODescriptor;
@@ -93,6 +88,7 @@ import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.data.UserDatabaseFrom;
+import at.gv.egovernment.moa.id.configuration.exception.BasicActionException;
import at.gv.egovernment.moa.id.configuration.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.helper.AuthenticationHelper;
import at.gv.egovernment.moa.id.configuration.helper.DateTimeHelper;
@@ -103,70 +99,65 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.util.MiscUtil;
-public class IndexAction extends ActionSupport implements ServletRequestAware,
- ServletResponseAware {
+public class IndexAction extends BasicAction {
+ /**
+ * @throws ConfigurationException
+ */
+
private static final long serialVersionUID = -2781497863862504896L;
private static final Logger log = Logger.getLogger(IndexAction.class);
- private HttpServletRequest request;
-// private HttpServletResponse response;
-
private String password;
private String username;
private UserDatabaseFrom user = null;
- private AuthenticatedUser authUser = null;
private String formID;
private String ssologouturl;
private boolean pvp2LoginActiv = false;
+ public IndexAction() throws BasicActionException {
+ super();
+ }
+
public String start() {
-
try {
- ConfigurationProvider config = ConfigurationProvider.getInstance();
- pvp2LoginActiv = config.isPVP2LoginActive();
-
- if (request.getSession().getAttribute(Constants.SESSION_I18n) == null)
- request.getSession().setAttribute(Constants.SESSION_I18n,
- Locale.forLanguageTag(config.getDefaultLanguage()));
+ populateBasicInformations();
- if (config.isLoginDeaktivated()) {
- return "loginWithOutAuth";
-
- } else {
- return Constants.STRUTS_SUCCESS;
-
- }
-
- } catch (ConfigurationException e) {
- log.warn("An internal error occurs.", e);
- addActionError(LanguageHelper.getErrorString("error.login.internal", request));
+ } catch (BasicActionException e) {
return Constants.STRUTS_ERROR;
+
}
- }
-
- public String changeLanguage() {
-
- return Constants.STRUTS_SUCCESS;
+
+ pvp2LoginActiv = configuration.isPVP2LoginActive();
+
+ if (session.getAttribute(Constants.SESSION_I18n) == null)
+ session.setAttribute(Constants.SESSION_I18n,
+ Locale.forLanguageTag(configuration.getDefaultLanguage()));
+
+ if (configuration.isLoginDeaktivated()) {
+ return "loginWithOutAuth";
+
+ } else {
+ return Constants.STRUTS_SUCCESS;
+
+ }
}
public String authenticate() {
- ConfigurationProvider config;
try {
- config = ConfigurationProvider.getInstance();
- pvp2LoginActiv = config.isPVP2LoginActive();
-
- } catch (ConfigurationException e1) {
- log.warn("An internal error occurs.", e1);
- pvp2LoginActiv = false;
+ populateBasicInformations();
+
+ } catch (BasicActionException e) {
+ return Constants.STRUTS_ERROR;
+
}
-
-
+ pvp2LoginActiv = configuration.isPVP2LoginActive();
+
String key = null;
if (MiscUtil.isNotEmpty(username)) {
@@ -262,8 +253,15 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
public String pvp2login() {
+ try {
+ populateBasicInformations();
+
+ } catch (BasicActionException e) {
+ return Constants.STRUTS_ERROR;
+
+ }
+
String method = request.getMethod();
- HttpSession session = request.getSession();
if (session == null) {
log.info("NO HTTP Session");
return Constants.STRUTS_ERROR;
@@ -273,10 +271,9 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
session.setAttribute(Constants.SESSION_PVP2REQUESTID, null);
if (method.equals("POST")) {
-
+
try {
- ConfigurationProvider config = ConfigurationProvider.getInstance();
- pvp2LoginActiv = config.isPVP2LoginActive();
+ pvp2LoginActiv = configuration.isPVP2LoginActive();
//Decode with HttpPost Binding
HTTPPostDecoder decode = new HTTPPostDecoder(new BasicParserPool());
@@ -301,7 +298,7 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
}
//check response destination
- String serviceURL = config.getPublicUrlPreFix(request);
+ String serviceURL = configuration.getPublicUrlPreFix(request);
if (!serviceURL.endsWith("/"))
serviceURL = serviceURL + "/";
@@ -334,11 +331,11 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
keyInfoProvider);
MetadataCredentialResolverFactory credentialResolverFactory = MetadataCredentialResolverFactory.getFactory();
- MetadataCredentialResolver credentialResolver = credentialResolverFactory.getInstance(config.getMetaDataProvier());
+ MetadataCredentialResolver credentialResolver = credentialResolverFactory.getInstance(configuration.getMetaDataProvier());
CriteriaSet criteriaSet = new CriteriaSet();
criteriaSet.add(new MetadataCriteria(IDPSSODescriptor.DEFAULT_ELEMENT_NAME, SAMLConstants.SAML20P_NS));
- criteriaSet.add(new EntityIDCriteria(config.getPVP2IDPMetadataEntityName()));
+ criteriaSet.add(new EntityIDCriteria(configuration.getPVP2IDPMetadataEntityName()));
criteriaSet.add(new UsageCriteria(UsageType.SIGNING));
ExplicitKeySignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credentialResolver, keyInfoResolver);
@@ -357,12 +354,12 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
log.debug("Found encryped assertion. Start decryption ...");
- KeyStore keyStore = config.getPVP2KeyStore();
+ KeyStore keyStore = configuration.getPVP2KeyStore();
X509Credential authDecCredential = new KeyStoreX509CredentialAdapter(
keyStore,
- config.getPVP2KeystoreAuthRequestEncryptionKeyAlias(),
- config.getPVP2KeystoreAuthRequestEncryptionKeyPassword().toCharArray());
+ configuration.getPVP2KeystoreAuthRequestEncryptionKeyAlias(),
+ configuration.getPVP2KeystoreAuthRequestEncryptionKeyPassword().toCharArray());
StaticKeyInfoCredentialResolver skicr =
@@ -575,7 +572,14 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
public String requestNewUser() {
- HttpSession session = request.getSession();
+ try {
+ populateBasicInformations();
+
+ } catch (BasicActionException e) {
+ return Constants.STRUTS_ERROR;
+
+ }
+
if (session == null) {
log.warn("No active Session found");
return Constants.STRUTS_ERROR;
@@ -746,6 +750,14 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
public String mailAddressVerification() {
+ try {
+ populateBasicInformations();
+
+ } catch (BasicActionException e) {
+ return Constants.STRUTS_ERROR;
+
+ }
+
String userrequesttokken = request.getParameter(Constants.REQUEST_USERREQUESTTOKKEN);
if (MiscUtil.isNotEmpty(userrequesttokken)) {
@@ -805,11 +817,14 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
}
public String logout() {
-
- HttpSession session = request.getSession();
- Object authUserObj = session.getAttribute(Constants.SESSION_AUTH);
- authUser = (AuthenticatedUser) authUserObj;
+ try {
+ populateBasicInformations();
+
+ } catch (BasicActionException e) {
+ return Constants.STRUTS_ERROR;
+
+ }
if (session != null)
session.invalidate();
@@ -856,13 +871,6 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
return session;
}
-
- public void setServletResponse(HttpServletResponse arg0) {
-// this.response = arg0;
- }
- public void setServletRequest(HttpServletRequest arg0) {
- this.request = arg0;
- }
/**
* @return the password
@@ -893,13 +901,6 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
}
/**
- * @return the authUser
- */
- public AuthenticatedUser getAuthUser() {
- return authUser;
- }
-
- /**
* @return the user
*/
public UserDatabaseFrom getUser() {