|
@ -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";
|
|
|
}
|
|
|
}
|