|
@ -1,7 +1,14 @@
|
|
|
package com.yihu.hos.saas.services.impl;
|
|
|
|
|
|
import com.yihu.hos.saas.models.UserSession;
|
|
|
import com.yihu.hos.saas.constants.ContextAttributes;
|
|
|
import com.yihu.hos.saas.daos.UserDao;
|
|
|
import com.yihu.hos.saas.daos.UserTenantDao;
|
|
|
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;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@ -11,10 +18,39 @@ import javax.servlet.http.HttpSession;
|
|
|
* @created Airhead 2016/11/16.
|
|
|
*/
|
|
|
public class AuthenticateServiceImpl implements AuthenticateService {
|
|
|
@Autowired
|
|
|
private UserDao userDao;
|
|
|
@Autowired
|
|
|
private UserTenantDao userTenantDao;
|
|
|
|
|
|
@Override
|
|
|
public boolean isAuth(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
HttpSession session = request.getSession();
|
|
|
UserSession userSession = (UserSession) session.getAttribute("userSession");
|
|
|
return userSession != null;
|
|
|
if (userSession == null) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
UserTenantModel userTenantModel = userTenantDao.findOne(userSession.getUserCode());
|
|
|
|
|
|
LocalContext.getContext().setAttachment(ContextAttributes.SCHEMA, userTenantModel.getTenantSchema());
|
|
|
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";
|
|
|
}
|
|
|
|
|
|
if (password.equals(userModel.getPassword())) { //简单逻辑
|
|
|
HttpSession session = request.getSession();
|
|
|
session.setAttribute("userSession", new UserSession(userModel.getCode()));
|
|
|
}
|
|
|
|
|
|
return "Auth Success";
|
|
|
}
|
|
|
}
|