1 25 package org.ofbiz.shark.auth; 26 27 import java.util.Map ; 28 29 import org.ofbiz.entity.GenericValue; 30 import org.ofbiz.shark.container.SharkContainer; 31 import org.ofbiz.base.util.UtilMisc; 32 import org.ofbiz.service.LocalDispatcher; 33 import org.ofbiz.service.GenericServiceException; 34 import org.ofbiz.service.ServiceUtil; 35 import org.ofbiz.service.config.ServiceConfigUtil; 36 37 import org.enhydra.shark.api.internal.authentication.AuthenticationManager; 38 import org.enhydra.shark.api.internal.working.CallbackUtilities; 39 import org.enhydra.shark.api.RootException; 40 import org.enhydra.shark.api.UserTransaction; 41 42 49 public class OfbizAuthenticationMgr implements AuthenticationManager { 50 51 protected CallbackUtilities callBack = null; 52 53 public void configure(CallbackUtilities callBack) throws RootException { 54 this.callBack = callBack; 55 } 56 57 public boolean validateUser(UserTransaction userTransaction, String userName, String password) throws RootException { 58 String service = ServiceConfigUtil.getElementAttr("authorization", "service-name"); 59 if (service == null) { 60 throw new RootException("No Authentication Service Defined"); 61 } 62 63 LocalDispatcher dispatcher = SharkContainer.getDispatcher(); 64 Map context = UtilMisc.toMap("login.username", userName, "login.password", password, "isServiceAuth", new Boolean (true)); 65 Map serviceResult = null; 66 try { 67 serviceResult = dispatcher.runSync(service, context); 68 } catch (GenericServiceException e) { 69 throw new RootException(e); 70 } 71 72 if (!ServiceUtil.isError(serviceResult)) { 73 GenericValue userLogin = (GenericValue) serviceResult.get("userLogin"); 74 if (userLogin != null) { 75 return true; 76 } 77 } 78 79 return false; 80 } 81 } 82 83 | Popular Tags |