public string Register(object json)
        {
            var body = JsonConverter.Decode(json);

            var user_id  = body["user"];
            var password = body["password"];

            using (var ctx = new quantEntities()) {
                if (ctx.user.Any(_user => _user.user_id == user_id))
                {
                    return("fail");  // 用户已存在
                }

                string hash_passord = "";
                encryptor = new PasswordEncryptorLib.EncryptorClass();
                encryptor.HashNameAndPassword(user_id, password, out hash_passord);

                var new_user = new user {
                    user_id  = user_id,
                    password = hash_passord
                };
                ctx.user.Add(new_user);

                ValidationHelper.safeSaveChanges(ctx);
                return("success");

                //var filter = Builders<UserIns>.Filter.Eq("User", userInfo.User);
                //var checkUser = _user.Find(filter).FirstOrDefault();
                //if (checkUser != null)  // 用户名已经存在
                //    return "userExist";
                //string hashName = NameHashTool.HashGivenString(userInfo.User);
                ////HashTool.HashNameAndPassword(hashName, userInfo.Password, out string hashCode);
                ////userInfo.Password = hashCode;
                //_user.InsertOne(userInfo);
                //checkUser = _user.Find(filter).FirstOrDefault();
                //if (checkUser == null)
                //    return "fail";
                //else
                //    return "success";
            }
        }
Esempio n. 2
0
        public string Login(object json)
        {
            var body = JsonConverter.Decode(json);

            var user_id  = body["user"];
            var password = body["password"];

            using (var ctx = new quantEntities()) {
                var q = ctx.user.Where(_user => _user.user_id == user_id);
                if (!q.Any())
                {
                    return("fail");
                }
                user user = q.Single();

                string hash_passord = "";
                encryptor = new PasswordEncryptorLib.EncryptorClass();
                encryptor.HashNameAndPassword(user_id, password, out hash_passord);

                if (user.password.Equals(hash_passord) || user.password.Equals(password))
                {
                    return("success");
                }
                else
                {
                    return("fail");
                }

                //var filter = Builders<UserIns>.Filter.Eq("User", userInfo.User);
                //Console.WriteLine(userInfo.User);
                //var checkUser = _user.Find(filter).FirstOrDefault();
                //if (checkUser != null && checkUser.Password==userInfo.Password)  // 用户名不存在或密码错误
                //    return "success";
                //else
                //    return "fail";
            }
        }