/* * Atricore IDBus * * Copyright (c) 2009, Atricore Inc. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.atricore.idbus.capabilities.sso.ui.internal; import org.apache.wicket.Session; import org.apache.wicket.protocol.http.WebSession; import org.apache.wicket.request.Request; import org.atricore.idbus.capabilities.sso.ui.agent.SecurityContext; import org.atricore.idbus.capabilities.sso.ui.page.selfsvcs.registration.RegistrationState; import org.atricore.idbus.capabilities.sso.main.claims.SSOCredentialClaimsRequest; import org.atricore.idbus.common.sso._1_0.protocol.SelectEntityRequestType; import org.atricore.idbus.kernel.main.mediation.claim.CredentialClaimsRequest; import org.atricore.idbus.kernel.main.mediation.claim.UserClaimsRequest; import org.atricore.idbus.kernel.main.provisioning.domain.UserSecurityQuestion; /** * SSO-specific implementation of the wicket web session. Used to persist the claim request. * * @author <a href="mailto:gbrigandi@atricore.org">Gianluca Brigandi</a> */ public class SSOWebSession extends WebSession { private CredentialClaimsRequest credentialClaimsRequest; private UserClaimsRequest userClaimsRequest; private String lastAppErrorId; private SecurityContext securityContext; private UserSecurityQuestion[] securityQuestions; private RegistrationState registrationState; private int retries; private String lastUsername; public SSOWebSession(Request request) { super(request); } /** * @return Current authenticated web session */ public static SSOWebSession get() { return (SSOWebSession) Session.get(); } public void setCredentialClaimsRequest(SSOCredentialClaimsRequest credentialClaimsRequest) { this.credentialClaimsRequest = credentialClaimsRequest; } public CredentialClaimsRequest getCredentialClaimsRequest() { return credentialClaimsRequest; } public void setLastAppErrorId(String lastAppErrorId) { this.lastAppErrorId = lastAppErrorId; } public String getLastAppErrorId() { return lastAppErrorId; } public boolean isAuthenticated() { return securityContext != null && securityContext.isSessionValid(); } public String getPrincipal() { return securityContext != null ? securityContext.getPrincipal() : null; } public void setSecurityContext(SecurityContext securityContext) { this.securityContext = securityContext; } public SecurityContext getSecurityContext() { return securityContext; } public UserSecurityQuestion[] getSecurityQuestions() { return securityQuestions; } public void setSecurityQuestions(UserSecurityQuestion[] securityQuestions) { this.securityQuestions = securityQuestions; } public RegistrationState getRegistrationState() { return registrationState; } public void setRegistrationState(RegistrationState registrationState) { this.registrationState = registrationState; } public int getRetries() { return retries; } public void setRetries(int retries) { this.retries = retries; } public UserClaimsRequest getUserClaimsRequest() { return userClaimsRequest; } public void setUserClaimsRequest(UserClaimsRequest userClaimsRequest) { this.userClaimsRequest = userClaimsRequest; } public void setLastUsername(String lastUsername) { this.lastUsername = lastUsername; } public String getLastUsername() { return lastUsername; } }