-package com.indexdata.mkjsf.pazpar2.sp.auth;\r
-\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.enterprise.context.SessionScoped;\r
-import javax.inject.Named;\r
-\r
-import org.apache.log4j.Logger;\r
-\r
-import com.indexdata.mkjsf.utils.Utils;\r
-\r
-@Named("user") @SessionScoped\r
-public class ServiceProxyUser implements AuthenticationEntity {\r
-\r
- private static final long serialVersionUID = 2351542518778803071L;\r
- private Map<String,String> actualProperties = new HashMap<String,String>();\r
- private static Logger logger = Logger.getLogger(ServiceProxyUser.class);\r
- private boolean credsAuthenticated = false;\r
- private boolean ipAuthenticated = false;\r
- private boolean ipAuthFailure = false;\r
- private boolean credsAuthFailure = false; \r
-\r
- public ServiceProxyUser() {\r
- logger.debug("ServiceProxyUser instantiated: " + Utils.objectId(this));\r
- }\r
- \r
- public String getName() { \r
- return actualProperties.get("name"); \r
- }\r
- \r
- public void setName(String newValue) { \r
- actualProperties.put("name", newValue); \r
- }\r
- \r
- public String getPassword() { \r
- return actualProperties.get("password"); \r
- }\r
- \r
- public void setPassword(String newValue) { \r
- actualProperties.put("password", newValue);\r
- }\r
- \r
- public void setRealm(String realm) {\r
- actualProperties.put("realm", realm);\r
- }\r
- \r
- public String getRealm() {\r
- return actualProperties.get("realm");\r
- }\r
- \r
- public void credentialsAuthenticationSucceeded (boolean success) {\r
- this.credsAuthFailure = !success;\r
- this.credsAuthenticated = success;\r
- this.ipAuthenticated = false;\r
- this.ipAuthFailure = false;\r
- }\r
- \r
- public void ipAuthenticationSucceeded (boolean success) {\r
- this.ipAuthFailure = !success; \r
- this.ipAuthenticated = success;\r
- this.credsAuthenticated = false;\r
- this.credsAuthFailure = false;\r
- }\r
- \r
- public boolean isAuthenticated() {\r
- return (ipAuthenticated || credsAuthenticated);\r
- }\r
- \r
- public boolean isIpAuthenticated () {\r
- return ipAuthenticated;\r
- }\r
- \r
- public boolean isCredentialsAuthenticated () {\r
- return credsAuthenticated;\r
- }\r
- \r
- public boolean hasIpAuthFailure () {\r
- return ipAuthFailure;\r
- }\r
- \r
- public boolean hasCredsAuthFailure () {\r
- return credsAuthFailure;\r
- }\r
- \r
- public boolean hasAuthenticationFailure () {\r
- return credsAuthFailure || ipAuthFailure;\r
- }\r
- \r
- public void authenticationCheckFailed () {\r
- ipAuthenticated = false;\r
- credsAuthenticated = false;\r
- }\r
- \r
- public String getAuthenticationStatus () {\r
- return (isAuthenticated() ? \r
- (isIpAuthenticated()? "IP authenticated" : \r
- (isCredentialsAuthenticated() ? "Authenticated by credentials" : "Unknown authentication method")) :\r
- (hasAuthenticationFailure() ? \r
- (hasIpAuthFailure() ? "Authentication by IP address failed" :\r
- (hasCredsAuthFailure() ? "Authentication by credentials failed" : "Unknown authentication failure")) :\r
- "Not authenticated"));\r
- }\r
- \r
-\r
- @Override\r
- public String getProperty(String key) {\r
- return actualProperties.get(key);\r
- }\r
-\r
- @Override\r
- public Map<String, String> getPropertyMap() {\r
- return actualProperties;\r
- }\r
- \r
- public void clear() {\r
- actualProperties = new HashMap<String,String>();\r
- credsAuthenticated = false;\r
- ipAuthenticated = false; \r
- }\r
- \r
- public void setSpResponse (String responseXml) {\r
- \r
- }\r
- \r
-\r
-}\r