diff options
author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-04-03 10:05:38 +0200 |
---|---|---|
committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-04-03 10:05:38 +0200 |
commit | 80580d72ba7f5af54b77ef1b47c42005e0b5ded8 (patch) | |
tree | 67ac78fdc9a546f721a813727c384eb713bb773a /id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java | |
parent | 38f6c7b91e28ed17078812448b8a0b5a37c29321 (diff) | |
download | moa-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.java | 145 |
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() { |