/******************************************************************************* * Copyright 2014 Federal Chancellery Austria * MOA-ID has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. *******************************************************************************/ package at.gv.egovernment.moa.id.configuration.data.oa; import java.util.List; import javax.servlet.http.HttpServletRequest; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OASSO; import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication; import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser; import at.gv.egovernment.moa.id.configuration.validation.oa.OASSOConfigValidation; public class OASSOConfig implements IOnlineApplicationData { private boolean useSSO = false; private boolean showAuthDataFrame = true; private String singleLogOutURL = null; public OASSOConfig() { } /* * (non-Javadoc) * * @see * at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#getName * () */ @Override public String getName() { return "OASingleSignOn"; } @Override public List parse(OnlineApplication dbOAConfig, AuthenticatedUser authUser, HttpServletRequest request) { final AuthComponentOA authdata = dbOAConfig.getAuthComponentOA(); if (authdata != null) { final OASSO ssoconfig = authdata.getOASSO(); if (ssoconfig != null) { useSSO = ssoconfig.isUseSSO(); showAuthDataFrame = ssoconfig.isAuthDataFrame(); singleLogOutURL = ssoconfig.getSingleLogOutURL(); } } return null; } /* * (non-Javadoc) * * @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData# * validate(at.gv.egovernment.moa.id.configuration.data.oa.OAGeneralConfig, * javax.servlet.http.HttpServletRequest) */ @Override public List validate(OAGeneralConfig general, AuthenticatedUser authUser, HttpServletRequest request) { return new OASSOConfigValidation().validate(this, authUser.isAdmin(), request); } @Override public String store(OnlineApplication dboa, AuthenticatedUser authUser, HttpServletRequest request) { AuthComponentOA authoa = dboa.getAuthComponentOA(); if (authoa == null) { authoa = new AuthComponentOA(); dboa.setAuthComponentOA(authoa); } OASSO sso = authoa.getOASSO(); if (sso == null) { sso = new OASSO(); authoa.setOASSO(sso); sso.setAuthDataFrame(true); } sso.setUseSSO(this.useSSO); if (authUser.isAdmin()) { sso.setAuthDataFrame(this.showAuthDataFrame); } sso.setSingleLogOutURL(this.singleLogOutURL); return null; } public boolean isUseSSO() { return useSSO; } public void setUseSSO(boolean useSSO) { this.useSSO = useSSO; } public boolean isShowAuthDataFrame() { return showAuthDataFrame; } public void setShowAuthDataFrame(boolean showAuthDataFrame) { this.showAuthDataFrame = showAuthDataFrame; } public String getSingleLogOutURL() { return singleLogOutURL; } public void setSingleLogOutURL(String singleLogOutURL) { this.singleLogOutURL = singleLogOutURL; } }