Beispiel #1
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));
        }
        /// <summary>
        /// 回传加密数据
        /// </summary>
        /// <param name="urlContent"></param>
        /// <returns></returns>
        public ReturnValueModel GetDownLoadEncryptUrl(string urlContent)
        {
            ReturnValueModel rvm           = new ReturnValueModel();
            string           RetUrlContent = string.Empty;

            if (!string.IsNullOrEmpty(urlContent) && urlContent.IndexOf('/') > -1)
            {
                string[] ContentArr = urlContent.Split('/');

                for (int i = 3; i < ContentArr.Length; i++)
                {
                    RetUrlContent += ContentArr[i] + "/";
                }
                RetUrlContent = urlContent.TrimEnd('/');
            }

            rvm.Result = new
            {
                rows = new
                {
                    urlContent = SysUrl + "/" + EncryptHelper.AES_Encrypt(RetUrlContent)
                }
            };
            return(rvm);
        }
Beispiel #3
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 #4
0
        public string Login(string username, string userpwd, string ip)
        {
            //1.校验
            dynamic user = Dbop.Get(username)?.ToDynamic();

            if (user == null)
            {
                return("错误: 用户不存在。请点击<a href='javascript:history.go(-1)'>此处</a>返回。");
            }


            if (user.userPwd != EncryptHelper.SHA256(userpwd))
            {
                return("错误: 密码不正确。请点击<a href='javascript:history.go(-1)'>此处</a>返回。");
            }
            ServerContext.logger.Info($"用户{username}登录成功,IP:{ip}");
            //2.给token
            string output = $"{username}|{DateTime.Now.ToString("yyyy-MM-dd")}|{user["role"].Value}";
            string token  = EncryptHelper.AES_Encrypt(output);

            return(string.Format(@"
<html>
<head><script>
document.cookie='NSPTK={0}; path=/;';
document.cookie='ROLE={1}; path=/;';
document.cookie='UNAME={2}; path=/;';
document.write('Redirecting...');
window.location.href='main.html';
</script>
</head>
</html>
            ", token, user["role"].Value, username));
        }
Beispiel #5
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 #6
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 #7
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 BaseResponse <string> AESEncrypt(string text, string key)
        {
            var result = new BaseResponse <string>();

            try
            {
                if (string.IsNullOrEmpty(text) || string.IsNullOrEmpty(key))
                {
                    result.Code    = -1;
                    result.Message = string.Format("入参信息不可为空");
                    return(result);
                }

                result.Data    = EncryptHelper.AES_Encrypt(text, key);
                result.Message = string.Format("操作成功");
            }
            catch (Exception ex)
            {
                result.Code    = -9;
                result.Message = string.Format("AESEncrypt异常:{0}", ex.Message);
            }
            return(result);
        }