123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- package cn.com.usky.iot.controller.login;
- import cn.com.usky.iot.admin.dao.YtiotTAdminDao;
- import cn.com.usky.iot.auth.TokenAuthService;
- import cn.com.usky.utils.ListUtil;
- import cn.com.usky.utils.MD5Util;
- import com.alibaba.fastjson.JSONObject;
- import org.apache.log4j.Logger;
- import org.hibernate.HibernateException;
- import org.hibernate.Query;
- import org.hibernate.Session;
- import org.springframework.orm.hibernate3.HibernateCallback;
- import org.springframework.orm.hibernate3.HibernateTemplate;
- import javax.servlet.http.Cookie;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.UnsupportedEncodingException;
- import java.security.NoSuchAlgorithmException;
- import java.sql.SQLException;
- import java.util.List;
- /**
- * @author laowo
- * @version v1.0
- * @date 2020/11/27 10:00
- * @description TODO
- **/
- public class LoginServiceImpl implements LoginService {
- private TokenAuthService tokenAuthService;
- public TokenAuthService getTokenAuthService() {
- return tokenAuthService;
- }
- public void setTokenAuthService(TokenAuthService tokenAuthService) {
- this.tokenAuthService = tokenAuthService;
- }
- private static final Logger LOGGER = Logger.getLogger(LoginServiceImpl.class);
- private HibernateTemplate hibernateTemplate;
- public HibernateTemplate getHibernateTemplate() {
- return hibernateTemplate;
- }
- public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
- this.hibernateTemplate = hibernateTemplate;
- }
- private YtiotTAdminDao ytiotTAdminDao;
- public YtiotTAdminDao getYtiotTAdminDao() {
- return ytiotTAdminDao;
- }
- public void setYtiotTAdminDao(YtiotTAdminDao ytiotTAdminDao) {
- this.ytiotTAdminDao = ytiotTAdminDao;
- }
- /**
- * 登录
- *
- * @param loginName
- * @param passWord
- * @param response
- * @param request
- * @return
- */
- @Override
- public String tologin(String loginName, String passWord, HttpServletResponse response, HttpServletRequest request) {
- String pwd = null;
- List userIdList = hibernateTemplate.executeFind(new HibernateCallback() {
- @Override
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException {
- String sql = "select UQ_ADMIN_ID from ytiot_t_admin where V_LOGINNAME ='" + loginName + "'";
- Query query = session.createSQLQuery(sql);
- return query.list();
- }
- });
- if (ListUtil.isBlank(userIdList)) {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("Msg", "LOGIN NAME WRONG");
- jsonObject.put("ServerName", "www.jd-ioe.com/UskyIoT");
- jsonObject.put("check", "true");
- jsonObject.put("login", "false");
- return jsonObject.toString();
- }
- try {
- pwd = MD5Util.EncoderByMd5(passWord);
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- String finalPwd = pwd;
- List password = hibernateTemplate.executeFind(new HibernateCallback() {
- @Override
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException {
- String sql = "select V_ADMIN_NAME,V_PASSWORD from ytiot_t_admin where V_LOGINNAME ='" + loginName + "' and V_PASSWORD='" + finalPwd + "'";
- Query query = session.createSQLQuery(sql);
- return query.list();
- }
- });
- if (ListUtil.isBlank(password)) {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("Msg", "WRONG PASSWORD!!!");
- jsonObject.put("ServerName", "www.jd-ioe.com/UskyIoT");
- jsonObject.put("check", "true");
- jsonObject.put("login", "false");
- return jsonObject.toString();
- }
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("chk", 1);
- jsonObject.put("href", "view/mainframe.jsp");
- jsonObject.put("login", "true");
- jsonObject.put("check", "true");
- jsonObject.put("ServerName", "www.jd-ioe.com/UskyIoT");
- //Token生成
- Long loginTime = System.currentTimeMillis() / 1000;
- String userId = (String) userIdList.get(0);
- String token = tokenAuthService.createToken(userId, loginTime);
- //设置响应token
- Cookie cookie = new Cookie(Constants.RESPONSE_TOKEN, token);
- //禁止JS读取cookie
- cookie.setHttpOnly(true);
- cookie.setPath(request.getContextPath());
- //有效期一个月
- cookie.setMaxAge(60 * 60 * 24 * 30);
- response.addCookie(cookie);
- return jsonObject.toString();
- }
- @Override
- public List getObjectByUserId(String userId) {
- return hibernateTemplate.executeFind(new HibernateCallback() {
- @Override
- public Object doInHibernate(Session session)
- throws HibernateException, SQLException {
- String sql = "select UQ_ADMIN_ID from ytiot_t_admin where UQ_ADMIN_ID ='" + userId + "'";
- Query query = session.createSQLQuery(sql);
- return query.list();
- }
- });
- }
- }
|