|  | @ -1,10 +1,10 @@
 | 
	
		
			
				|  |  | package com.yihu.hos.saas.services.impl;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.constants.ContextAttributes;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.daos.TenantDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.daos.UserDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.daos.UserTenantDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.models.TenantModel;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.models.UserModel;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.models.UserTenantModel;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.models.bo.UserSession;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.services.AuthenticateService;
 | 
	
		
			
				|  |  | import com.yihu.hos.saas.utils.LocalContext;
 | 
	
	
		
			
				|  | @ -20,8 +20,9 @@ import javax.servlet.http.HttpSession;
 | 
	
		
			
				|  |  | public class AuthenticateServiceImpl implements AuthenticateService {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private UserDao userDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private UserTenantDao userTenantDao;
 | 
	
		
			
				|  |  |     private TenantDao tenantDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Override
 | 
	
		
			
				|  |  |     public boolean isAuth(HttpServletRequest request, HttpServletResponse response) throws Exception {
 | 
	
	
		
			
				|  | @ -31,26 +32,31 @@ public class AuthenticateServiceImpl implements AuthenticateService {
 | 
	
		
			
				|  |  |             return false;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         UserTenantModel userTenantModel = userTenantDao.findOne(userSession.getUserCode());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         LocalContext.getContext().setAttachment(ContextAttributes.SCHEMA, userTenantModel.getTenantSchema());
 | 
	
		
			
				|  |  |         LocalContext.getContext().setAttachment(ContextAttributes.SCHEMA, userSession.getSchema());
 | 
	
		
			
				|  |  |         return true;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Override
 | 
	
		
			
				|  |  |     public String auth(HttpServletRequest request, HttpServletResponse response) {
 | 
	
		
			
				|  |  |         String name = request.getParameter("name");
 | 
	
		
			
				|  |  |         String password = request.getParameter("password");
 | 
	
		
			
				|  |  |         UserModel userModel = userDao.findOne(name);
 | 
	
		
			
				|  |  |         if (userModel == null) {
 | 
	
		
			
				|  |  |             return "Auth Failed";
 | 
	
		
			
				|  |  |     public String auth(HttpSession httpSession, String tenantName, String tenantPassword, String user, String password) {
 | 
	
		
			
				|  |  |         TenantModel tenantModel = tenantDao.findOneByName(tenantName);
 | 
	
		
			
				|  |  |         //TODO:现在只是简单逻辑,需要修改成安全逻辑
 | 
	
		
			
				|  |  |         if (tenantModel == null
 | 
	
		
			
				|  |  | //                || !password.equals(tenantModel.getPassword())
 | 
	
		
			
				|  |  |                 ) {
 | 
	
		
			
				|  |  |             return "Tenant Auth Failed";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (password.equals(userModel.getPassword())) {     //简单逻辑
 | 
	
		
			
				|  |  |             HttpSession session = request.getSession();
 | 
	
		
			
				|  |  |             session.setAttribute("userSession", new UserSession(userModel.getCode()));
 | 
	
		
			
				|  |  |         //切换Schema
 | 
	
		
			
				|  |  |         LocalContext.getContext().setAttachment(ContextAttributes.SCHEMA, tenantModel.getSchema());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         UserModel userModel = userDao.findOne(user);
 | 
	
		
			
				|  |  |         //TODO:现在只是简单逻辑,需要修改成安全逻辑
 | 
	
		
			
				|  |  |         if (userModel == null || !password.equals(userModel.getPassword())) {
 | 
	
		
			
				|  |  |             return "User Auth Failed";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         httpSession.setAttribute("userSession", new UserSession(userModel.getCode(), tenantModel.getSchema()));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return "Auth Success";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |