Beispiel #1
0
        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));
        }
Beispiel #2
0
        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 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());
        }
Beispiel #4
0
        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
            });
        }
Beispiel #5
0
        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));
        }
Beispiel #6
0
        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);
            }
        }