Esempio n. 1
0
        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());
        }
Esempio n. 2
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
            });
        }
Esempio n. 3
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());
        }