public string Login(string userid, string userpwd) { //1.校验 dynamic user = Dbop.Get(long.Parse(userid))?.ToDynamic(); if (user == null) { return("error: user not exist."); } if (user.userPwd != EncryptHelper.SHA256(userpwd)) { return("error: wrong password."); } //2.给token string output = $"{userid}|{DateTime.Now.ToString("yyyy-MM-dd")}"; string token = EncryptHelper.AES_Encrypt(output); return(string.Format(@" <html> <head><script> document.cookie='NSPTK={0}'; document.write('Redirecting...'); window.location.href='main.html'; </script> </head> </html> ", token)); }
public string Login(string username, string userpwd) { //1.校验 dynamic user = Dbop.Get(username)?.ToDynamic(); if (user == null) { return("Error: User not exist.Please <a href='javascript:history.go(-1)'>go backward</a>."); } if (user.userPwd != EncryptHelper.SHA256(userpwd)) { return("Error: Wrong password.Please <a href='javascript:history.go(-1)'>go backward</a>."); } //2.给token string output = $"{username}|{DateTime.Now.ToString("yyyy-MM-dd")}"; string token = EncryptHelper.AES_Encrypt(output); return(string.Format(@" <html> <head><script> document.cookie='NSPTK={0}; path=/;'; document.write('Redirecting...'); window.location.href='main.html'; </script> </head> </html> ", token)); }
public List <string> GetUsers() { List <string> userStrList = Dbop.Select(0, 999); for (int i = 0; i < userStrList.Count; i++) { var user = userStrList[i].ToObject <UserDTO>(); var userBounds = ServerContext.ServerConfig.BoundConfig.UserPortBounds; if (userBounds.ContainsKey(user.userId)) { if (userBounds[user.userId].Bound != null) { user.boundPorts = string.Join(',', userBounds[user.userId].Bound); } } var banlist = ServerContext.ServerConfig.BoundConfig.UsersBanlist; user.isBanned = banlist?.Contains(user.userId).ToString().ToLower(); // user.isOnline = ServerContext.Clients.ContainsKey(int.Parse(user.userId)).ToString().ToLower(); userStrList[i] = user.ToJsonString(); } return(userStrList); //} }
public void UpdateUser(string oldUserName, string newUserName, string userPwd, string isAdmin) { if (!Dbop.Exist(oldUserName)) { throw new Exception($"error: user {oldUserName} not exist."); } if (newUserName != oldUserName && Dbop.Exist(newUserName)) { throw new Exception($"error: user {newUserName} exist."); } //var user = new User //{ // userId = SUPER_VARIABLE_INDEX_ID, //索引id // userName = userName, // userPwd = EncryptHelper.SHA256(userpwd), // regTime = DateTime.Now.ToString(), // isAdmin = isAdmin //}; User user = Dbop.Get(oldUserName)?.ToObject <User>(); user.isAdmin = isAdmin; user.userName = newUserName; if (userPwd != "XXXXXXXX") { user.userPwd = EncryptHelper.SHA256(userPwd); } //if (isAdmin == true) user. //1.增加用户 Dbop.UpdateByName(oldUserName, newUserName, user.ToJsonString()); }
public List <string> GetUsers() { //using (var dbop = Dbop.Open()) //{ return(Dbop.Select(0, 10)); //} }
public void RemoveUser(string userIndex, string userNames) { try { var arr = userIndex.Split(','); var userNameArr = userNames.Split(','); for (var i = arr.Length - 1; i > -1; i--) { Dbop.Delete(int.Parse(arr[i])); Dbop.DeleteHash(userNameArr[i]); } //删除用户绑定 lock (userLocker) { if (ServerContext.ServerConfig.BoundConfig.UserPortBounds.ContainsKey(userIndex)) { ServerContext.ServerConfig.BoundConfig.UserPortBounds.Remove(userIndex); } } //刷新绑定列表 ServerContext.UpdatePortMap(); ServerContext.ServerConfig.SaveChanges(ServerContext.ServerConfigPath); } catch (Exception ex) { throw new Exception("删除用户出错:" + ex.Message); } }
public bool ValidateUserName(string isEdit, string oldUsername, string newUserName) { if (isEdit == "1" && oldUsername == newUserName) { return(true); } return(!Dbop.Exist(newUserName)); }
public void AddUser(string userid, string userpwd) { if (Dbop.Exist(userid)) { throw new Exception("error: user exist."); } var user = new { userId = userid, userPwd = EncryptHelper.SHA256(userpwd), regTime = DateTime.Now.ToString() }; //1.增加用户 Dbop.Insert(long.Parse(userid), user.ToJsonString()); }
public void RemoveUser(string userIndex) { try { Dbop.Delete(int.Parse(userIndex)); } catch (Exception ex) { throw new Exception("删除用户出错:" + ex.Message); } }
/// <summary> /// 批量加入 /// </summary> /// <param name="objlist"></param> /// <returns></returns> public static KeyValuePair <bool, string> AddNewBatch(List <T> objlist) { Dictionary <string, object> paramList; foreach (T item in objlist) { paramList = new Dictionary <string, object>(); Dbop.ExecuteSqlSuc(SQLInsert <T>(item, paramList), paramList); } return(new KeyValuePair <bool, string>(true, null)); }
public void RemoveUser(string userIndex) { try { var arr = userIndex.Split(','); for (var i = arr.Length - 1; i > -1; i--) { Dbop.Delete(int.Parse(arr[i])); } } catch (Exception ex) { throw new Exception("删除用户出错:" + ex.Message); } }
/// <summary> /// 获取列表模型 /// <para>(可通过重写GetByDataRow函数更改填充模型数据方式)</para> /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <param name="wh">sql条件(where字符任意)</param> /// <returns></returns> public static List <T> FindList(string wh = "") { List <T> rl = new List <T>(); string sql = GetSelectSQL <T>(wh); if (!string.IsNullOrEmpty(sql)) { DataTable dt = Dbop.GetDataTable(sql); foreach (DataRow dr in dt.Rows) { rl.Add(GetModelByDataRow <T>(dr)); } } return(rl); }
public LoginFormClientResult LoginFromClient(string username, string userpwd) { User user = null; string isAnonymous = "0"; //匿名登录时創建一個用戶 if (ServerContext.SupportAnonymousLogin && string.IsNullOrEmpty(username)) { username = "******" + RandomHelper.NextString(12, false); userpwd = RandomHelper.NextString(20); user = new User { userId = NSmartDbOperator.SUPER_VARIABLE_INDEX_ID, //索引id userName = username, userPwd = EncryptHelper.SHA256(userpwd), regTime = DateTime.Now.ToString(), isAdmin = "0", isAnonymous = "1" }; //if (isAdmin == true) user. //1.增加用户 Dbop.Insert(username, user.ToJsonString()); } //1.校验 user = Dbop.Get(username)?.ToObject <User>(); if (user == null) { throw new Exception("error: user not exist."); } if (ServerContext.ServerConfig.BoundConfig.UsersBanlist.Contains(user.userId)) { throw new Exception("Error: User has banned."); } if (user.userPwd != EncryptHelper.SHA256(userpwd)) { throw new Exception("error: wrong password."); } //2.给token string output = $"{username}|{DateTime.Now.ToString("yyyy-MM-dd")}"; string token = EncryptHelper.AES_Encrypt(output); return(new LoginFormClientResult { Token = token, Version = Global.NSmartProxyServerName, Userid = user.userId }); }
public UserStatusDTO GetUserStatus() { //Dbop.Close(); int totalCount = Dbop.GetCount(); var banCount = ServerContext.ServerConfig.BoundConfig.UsersBanlist.Count; var onlineCount = ServerContext.Clients.Count(); var restCount = totalCount - banCount - onlineCount; UserStatusDTO dto = new UserStatusDTO { onlineUsersCount = onlineCount, offlineUsersCount = restCount, banUsersCount = banCount }; return(dto); }
/// <summary> /// 获取单个模型 /// <para>(可通过重写GetByDataRow函数更改填充模型数据方式)</para> /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <param name="wh">sql条件(where字符任意)</param> /// <returns></returns> public static T Find(string wh = "") { string sql = GetSelectSQL <T>(wh); if (string.IsNullOrEmpty(sql)) { return(default(T)); } sql = sql.Insert(6, " TOP 1"); DataTable dt = Dbop.GetDataTable(sql); if (dt.Rows.Count == 0) { return(default(T)); } return(GetModelByDataRow <T>(dt.Rows[0])); }
public void AddUserV2(string userName, string userpwd, string isAdmin) { if (Dbop.Exist(userName)) { throw new Exception("error: user exist."); } var user = new User { userId = SUPER_VARIABLE_INDEX_ID, //索引id userName = userName, userPwd = EncryptHelper.SHA256(userpwd), regTime = DateTime.Now.ToString(), isAdmin = isAdmin }; //if (isAdmin == true) user. //1.增加用户 Dbop.Insert(userName, user.ToJsonString()); }
public string LoginFromClientById(string userid, string userpwd) { //1.校验 dynamic user = Dbop.Get(long.Parse(userid))?.ToDynamic(); if (user == null) { return("error: user not exist."); } if (user.userPwd != userpwd) { return("error: wrong password."); } //2.给token string output = $"{userid}|{DateTime.Now.ToString("yyyy-MM-dd")}"; return(EncryptHelper.AES_Encrypt(output)); }
public LoginFormClientResult LoginFromClient(string username, string userpwd) { //1.校验 var user = Dbop.Get(username)?.ToObject <User>(); if (user == null) { throw new Exception("error: user not exist."); } if (user.userPwd != EncryptHelper.SHA256(userpwd)) { throw new Exception("error: wrong password."); } //2.给token string output = $"{username}|{DateTime.Now.ToString("yyyy-MM-dd")}"; string token = EncryptHelper.AES_Encrypt(output); return(new LoginFormClientResult { Token = token, Version = Global.NSmartProxyServerName, Userid = user.userId }); }
public void RemoveUser(string userIndex, string userNames) { try { var arr = userIndex.Split(','); var userNameArr = userNames.Split(','); //for (var i = arr.Length - 1; i > -1; i--) //{ // Dbop.Delete(int.Parse(arr[i])); // Dbop.DeleteHash(userNameArr[i]); //} //删除用户绑定 lock (userLocker) { if (ServerContext.ServerConfig.BoundConfig.UserPortBounds.ContainsKey(userIndex)) { ServerContext.ServerConfig.BoundConfig.UserPortBounds.Remove(userIndex); } } //刷新绑定列表 ServerContext.UpdatePortMap(); ServerContext.ServerConfig.SaveChanges(ServerContext.ServerConfigPath); for (var i = arr.Length - 1; i > -1; i--) { var userId = int.Parse(arr[i]); var userDto = Dbop.Get(userNameArr[i]).ToObject <UserDTO>(); Dbop.Delete(userId);//litedb不起作用 Dbop.DeleteHash(userNameArr[i]); ServerContext.CloseAllSourceByClient(int.Parse(userDto.userId)); } } catch (Exception ex) { throw new Exception("删除用户出错:" + ex.Message); } }
/// <summary> /// 删除操作(根据主键) /// </summary> /// <param name="pkvalue">主键值</param> /// <returns></returns> public static KeyValuePair <bool, string> Remove(object pkvalue) { string sql = SQLDelete <T>(pkvalue); return(new KeyValuePair <bool, string>(Dbop.ExecuteSqlSuc(sql), null)); }
public bool ValidateUserName(string username) { return(!Dbop.Exist(username)); }
/// <summary> /// 存在数据 /// </summary> /// <param name="wh"></param> /// <returns></returns> public static bool ExistsData(string wh) { string sql = GetSelectSQL <T>(wh); return(Dbop.HavRow(sql)); }