From 257ad2048a0d14c9124ff0c437a10cccbfff4b42 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期六, 29 十月 2022 13:30:33 +0800
Subject: [PATCH] 单个登录用户登录没控制住问题修改

---
 VueWebApi/Controllers/LoginController.cs |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 101 insertions(+), 11 deletions(-)

diff --git a/VueWebApi/Controllers/LoginController.cs b/VueWebApi/Controllers/LoginController.cs
index 600ee63..0a6e4af 100644
--- a/VueWebApi/Controllers/LoginController.cs
+++ b/VueWebApi/Controllers/LoginController.cs
@@ -21,15 +21,17 @@
         ToMessage mes = new ToMessage();
         RedisHelper redis = new RedisHelper();
 
+        #region[PC鐢ㄦ埛鐧诲綍]
         /// <summary>
-        /// 鐢ㄦ埛鐧诲綍
+        /// PC鐢ㄦ埛鐧诲綍
         /// </summary>
         /// <param name="username">鐢ㄦ埛缂栫爜</param>
         /// <param name="password">瀵嗙爜</param>
+        /// <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
         /// <returns></returns>
         [Route(template: "LoginSave")]
         [HttpGet]
-        public HttpResponseMessage LoginSave(string username, string password)
+        public HttpResponseMessage LoginSave(string username, string password, string usertype)
         {
             try
             {
@@ -43,7 +45,8 @@
                     ms.usercode = dt.Rows[0]["USERCODE"].ToString();
                     ms.username = dt.Rows[0]["USERNAME"].ToString();
                     ms.password = dt.Rows[0]["PASSWORD"].ToString();
-                    ms.usertype = "PC";
+                    ms.usertype = usertype;
+                    ms.rediskey = "LoginUserID" + ms.usertype + ms.userid;
                     mss.Add(ms);
                     HttpContext.Current.Session.Clear(); //浠庝細璇濈姸鎬侀泦鍚堜腑鍒犻櫎鎵�鏈夌殑閿��
                     //HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
@@ -68,7 +71,7 @@
                         //鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
                         User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
                         //濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
-                        if (r_loginUser.usercode.Equals(loginUser.usercode))
+                        if ((r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.usercode + loginUser.usertype))
                         {
                             mes.data = ms;
                             mes.code = "302";
@@ -82,6 +85,7 @@
                             HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                             //鍐欏叆鐧诲綍鎿嶄綔璁板綍
                             mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
+                            mes.data = ms;
                             mes.code = "200";
                             mes.Message = "鐧诲綍鎴愬姛!";
                         }
@@ -108,6 +112,7 @@
 
             return mes.ResponseMess(mes);
         }
+        #endregion
 
         #region[寮哄埗涓嬬嚎鎺ュ彛]
         /// <summary>
@@ -141,20 +146,21 @@
         }
         #endregion
 
-
         #region[鏌ヨ鐧诲綍鑿滃崟]
         /// <summary>
-        /// 鏌ヨ鍔熻兘鑿滃崟
+        /// 鏌ヨ鐧诲綍鑿滃崟
         /// </summary>
+        /// <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
+        /// <param name="usercode">鐧诲綍鐢ㄦ埛缂栫爜</param>
         /// <returns></returns>
         [Route(template: "LoginMenu")]
         [HttpGet]
-        public HttpResponseMessage LoginMenu()
+        public HttpResponseMessage LoginMenu(string usertype, string usercode)
         {
             try
             {
-                var usercode = HttpContext.Current.Request.Cookies["navTabId"].Value.ToString();
-                mes = LoginBLL.LoginMenu(usercode);
+                //var usercode = HttpContext.Current.Request.Cookies["navTabId"].Value.ToString();
+                mes = LoginBLL.LoginMenu(usercode, usertype);
             }
             catch (Exception e)
             {
@@ -183,9 +189,9 @@
         }
         #endregion
 
-        #region[鐧诲嚭]
+        #region[PC鐧诲嚭]
         /// <summary>
-        /// 鐧诲嚭
+        /// PC鐧诲嚭
         /// </summary>
         /// <param name="userid">鐢ㄦ埛id</param>
         /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
@@ -201,5 +207,89 @@
             return mes.ResponseMess(mes);
         }
         #endregion
+
+
+        #region[APP鐢ㄦ埛鐧诲綍]
+        /// <summary>
+        /// APP鐢ㄦ埛鐧诲綍
+        /// </summary>
+        /// <param name="username">鐢ㄦ埛缂栫爜</param>
+        /// <param name="password">瀵嗙爜</param>
+        /// <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
+        /// <returns></returns>
+        [Route(template: "LoginAppSave")]
+        [HttpGet]
+        public HttpResponseMessage LoginAppSave(string username, string password, string usertype)
+        {
+            try
+            {
+                DataTable dt = LoginBLL.LoginSearch(username, password);
+                if (dt.Rows.Count > 0)
+                {
+                    List<User> mss = new List<User>();
+                    User ms = new User();
+                    ms.guid = username + password + Guid.NewGuid().ToString();
+                    ms.userid = Convert.ToInt32(dt.Rows[0]["ID"].ToString());
+                    ms.usercode = dt.Rows[0]["USERCODE"].ToString();
+                    ms.username = dt.Rows[0]["USERNAME"].ToString();
+                    ms.password = dt.Rows[0]["PASSWORD"].ToString();
+                    ms.usertype = usertype;
+                    mss.Add(ms);
+
+                    mes.code = "200";
+                    mes.Message = "鐧诲綍鎴愬姛!";
+                    mes.data = ms;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.Message = "璐﹀彿鎴栧瘑鐮佷笉姝g‘!";
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.Message = e.Message;
+            }
+
+            return mes.ResponseMess(mes);
+        }
+        #endregion
+
+        #region[APP鐧诲嚭]
+        /// <summary>
+        /// APP鐧诲嚭
+        /// </summary>
+        /// <param name="userid">鐢ㄦ埛id</param>
+        /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
+        /// <param name="username">鐢ㄦ埛鍚�</param>
+        /// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+        /// <returns></returns>
+        [Route(template: "LoginAppOut")]
+        [HttpPost]
+        public HttpResponseMessage LoginAppOut(int userid, string usercode, string username, string usertype)
+        {
+            mes = LoginBLL.LoginAppOut(userid, usercode, username, usertype);
+            return mes.ResponseMess(mes);
+        }
+        #endregion
+
+        #region[App鐧诲綍鏌ヨ瀹夌伅鍛煎彨淇℃伅]
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="userid">鐢ㄦ埛id</param>
+        /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
+        /// <param name="username">鐢ㄦ埛鍚嶇О</param>
+        /// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+        /// <returns></returns>
+        [Route(template: "LoginAppAnDonMessage")]
+        [HttpPost]
+        public HttpResponseMessage LoginAppAnDonMessage(int userid, string usercode, string username, string usertype)
+        {
+            mes = LoginBLL.LoginAppAnDonMessage(userid, usercode, username, usertype);
+            return mes.ResponseMess(mes);
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3