/* * Licensed to csti consulting * You may obtain a copy of the License at * * http://www.csticonsulting.com * Copyright (c) 2006-Aug 24, 2010 Consultation CS-TI inc. * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package com.salesmanager.core.module.impl.application.logon; import javax.servlet.http.HttpServletRequest; import com.salesmanager.core.entity.merchant.MerchantUserInformation; import com.salesmanager.core.module.model.application.AdministrationLogonModule; import com.salesmanager.core.service.ServiceException; import com.salesmanager.core.service.ServiceFactory; import com.salesmanager.core.service.merchant.MerchantService; /** * Used to log the admin * * @author Carl Samson * */ public abstract class AdministrationLogonModuleImpl implements AdministrationLogonModule { public MerchantUserInformation logon(HttpServletRequest request, String userName, String password) throws ServiceException { try { // validate username & password validateUserNameAndPassword(request, userName, password); String username = getUser(request); MerchantService service = (MerchantService) ServiceFactory .getService(ServiceFactory.MerchantService); MerchantUserInformation profile = service .getMerchantUserInformation(username); if (profile == null) { throw new ServiceException("Profile not found for username " + username); } return profile; } catch (Exception e) { if (e instanceof ServiceException) throw (ServiceException) e; throw new ServiceException(e); } } public abstract String getUser(HttpServletRequest request) throws ServiceException; public abstract boolean isUserInRole(HttpServletRequest request, String role) throws ServiceException; abstract void validateUserNameAndPassword(HttpServletRequest request, String userName, String password) throws ServiceException; }