From 10315c7b6d135f2edbac5de8090b420775de1fb4 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 08 八月 2022 16:01:09 +0800
Subject: [PATCH] n
---
VueWebApi/Controllers/LoginController.cs | 64 ++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 15 deletions(-)
diff --git a/VueWebApi/Controllers/LoginController.cs b/VueWebApi/Controllers/LoginController.cs
index 52588ed..ee81776 100644
--- a/VueWebApi/Controllers/LoginController.cs
+++ b/VueWebApi/Controllers/LoginController.cs
@@ -21,10 +21,11 @@
ToMessage mes = new ToMessage();
RedisHelper redis = new RedisHelper();
+ #region[鐢ㄦ埛鐧诲綍]
/// <summary>
/// 鐢ㄦ埛鐧诲綍
/// </summary>
- /// <param name="username">鐢ㄦ埛鍚�</param>
+ /// <param name="username">鐢ㄦ埛缂栫爜</param>
/// <param name="password">瀵嗙爜</param>
/// <returns></returns>
[Route(template: "LoginSave")]
@@ -38,7 +39,7 @@
{
List<User> mss = new List<User>();
User ms = new User();
- //ms.guid=Guid.NewGuid().ToString();
+ 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();
@@ -50,11 +51,11 @@
//User loginUser = JsonConvert.DeserializeObject<User>(HttpContext.Current.Session["User"].ToString());
User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
//濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
- if (redis.Get<User>("LoginUserID" + ms.userid, 0) == null)
+ if (redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0) == null)
{
//redis.Remove("LoginUserID" + ms.userid, 0);
//鍐欏叆redis(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.userid, ms, redis.secondsTimeOut, 0);
+ redis.Set<User>("LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 0);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鍐欏叆鐧诲綍鎿嶄綔璁板綍
@@ -66,18 +67,18 @@
else //濡傛灉瀛樺湪
{
//鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
- User r_loginUser = redis.Get<User>("LoginUserID" + ms.userid, 0);
+ User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
//濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
if (r_loginUser.usercode.Equals(loginUser.usercode))
{
mes.data = ms;
- mes.code = "300";
- mes.Message = "褰撳墠璐﹀彿宸茬櫥褰�!";
+ mes.code = "302";
+ mes.Message = "褰撳墠璐﹀彿宸茬櫥褰�,鏄惁寮哄埗涓嬬嚎!";
}
else
{
//閲嶇疆杩囨湡鏃堕棿(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
+ redis.Set<User>("LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鍐欏叆鐧诲綍鎿嶄綔璁板綍
@@ -105,10 +106,42 @@
mes.code = "300";
mes.Message = e.Message;
}
-
+
return mes.ResponseMess(mes);
}
+ #endregion
+ #region[寮哄埗涓嬬嚎鎺ュ彛]
+ /// <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: "ForcedOffline")]
+ [HttpPost]
+ public HttpResponseMessage ForcedOffline(int userid, string usercode, string username, string usertype)
+ {
+ try
+ {
+ redis.Remove("LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+ mes.code = "200";
+ mes.count = 0;
+ mes.Message = "寮哄埗涓嬬嚎鎴愬姛!";
+ mes.data = null;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes.ResponseMess(mes);
+ }
+ #endregion
#region[鏌ヨ鐧诲綍鑿滃崟]
/// <summary>
@@ -142,11 +175,11 @@
/// <param name="password">瀵嗙爜</param>
/// <param name="newpassword">鏂板瘑鐮�</param>
/// <returns></returns>
- [ChannelActionFilter,Route(template: "UpdateUserPassword")]
+ [ChannelActionFilter, Route(template: "UpdateUserPassword")]
[HttpPost]
- public HttpResponseMessage UpdateUserPassword(string usercode, string username, string password,string newpassword)
+ public HttpResponseMessage UpdateUserPassword(string usercode, string username, string password, string newpassword)
{
- mes = LoginBLL.UpdateUserPassword(usercode,username, password,newpassword);
+ mes = LoginBLL.UpdateUserPassword(usercode, username, password, newpassword);
return mes.ResponseMess(mes);
}
#endregion
@@ -160,11 +193,12 @@
/// <param name="username">鐢ㄦ埛鍚�</param>
/// <param name="usertype">鎿嶄綔绔疨C/APP</param>
/// <returns></returns>
- [ChannelActionFilter, Route(template: "LoginOut")]
+ [Route(template: "LoginOut")]
[HttpPost]
- public HttpResponseMessage LoginOut(int userid, string usercode, string username,string usertype)
+ [ChannelActionFilter]
+ public HttpResponseMessage LoginOut(int userid, string usercode, string username, string usertype)
{
- mes = LoginBLL.LoginOut(userid,usercode, username, usertype);
+ mes = LoginBLL.LoginOut(userid, usercode, username, usertype);
return mes.ResponseMess(mes);
}
#endregion
--
Gitblit v1.9.3