コード例 #1
0
ファイル: AccountController.cs プロジェクト: zuhuizou/OAuth2
        public ActionResult Register(RegisterArgs arg)
        {
            var app = Facade.Caches.OAuthAppCache.Instance.Find(it => string.Equals(Package.MerchantNo, it.APP_CODE, StringComparison.OrdinalIgnoreCase));

            if (app == null)
            {
                return(FailResult("商户不存在", (int)ApiStatusCode.DATA_NOT_FOUND));
            }
            //先注册,再登录发放TOKEN
            RegisterProvider provider = new RegisterProvider(Package.UserCode, arg.Password, arg.SmsCode, arg.RefereeCode);

            if (!provider.Register())
            {
                return(FailResult(provider.PromptInfo.CustomMessage, (int)provider.PromptInfo.ResultType));
            }
            object        data          = null;
            LoginProvider loginProvider = new LoginProvider(Package.UserCode, arg.Password);

            if (loginProvider.Login(Package.ClientSource, Package.ClientSystem, Package.Device_Id, Request.UserHostAddress, Session.SessionID, Package.ClientVersion, app.APP_ID))
            {
                data = new
                {
                    Token = loginProvider.Token
                };
            }
            return(SuccessResult(data));
        }
コード例 #2
0
        public int HandleRegisterPost(RegisterArgs regArgs)
        {
            var  ids = _fr.ReadInfo();
            bool ok1, ok2;
            int  id;

            if (ids == null)
            {
                id = 1;
            }
            else
            {
                id = ids[ids.Count - 1] + 1;
            }
            regArgs.User.Id = id;
            ok1             = _fw.WriteFaceToFile(id, regArgs.Image);
            ok2             = _fw.WriteInfoFile(id);
            if (ok1 && ok2)
            {
                if (!_registerService.Register(regArgs.User))
                {
                    return(0);
                }
                else
                {
                    return(1);
                }
            }
            return(Convert.ToInt16(Strings.GetString("errorCode")));
        }
コード例 #3
0
        private void ExeRegister(ClientEvent eEvent)
        {
            //Log
            Log.Info("thread" + Thread.CurrentThread.ManagedThreadId + " exe reigister event", eEvent.Client.LogSource);

            //OP
            RegisterArgs      args   = ClientArgs.AnalysisBody <RegisterArgs>(eEvent.Body);
            DbResult <string> result = DbUserAction.Register(args.Name, args.Password, args.Sex, args.City, args.UserType);

            if (result.Status == DbEnum.Success)
            {
                eEvent.Client.Send(new ServerEvent()
                {
                    Type = Event_Type.Register, RawContent = ClientArgs.ToBody(new RegisterArgs()
                    {
                        User_ID = result.Data, ErrorCode = ClientArgs.ArgSuccess
                    }), SendTime = DateTime.Now.ToString()
                }.ToString());
            }
            else
            {
                eEvent.Client.Send(new ServerEvent()
                {
                    Type = Event_Type.Register, RawContent = ClientArgs.ToBody(new BadRequestArgs()
                    {
                        Code = result.ErrorCode, Message = result.Error
                    }), SendTime = DateTime.Now.ToString()
                }.ToString());
            }
        }
コード例 #4
0
        public virtual async Task Register(RegisterArgs args, CancellationToken cancellationToken)
        {
            Guid newUserId = Guid.NewGuid();

            await UsersRepository.AddAsync(new User
            {
                Id       = newUserId,
                Password = HashUtility.Hash(args.userRegistration.Password),
                UserName = args.userRegistration.UserName
            }, cancellationToken);
        }
コード例 #5
0
 protected virtual void Register(IPlugin p)
 {
     Logger.Debug("Register '{0}'", p.Name);
     try
     {
         IRegisterArgs args = new RegisterArgs(_menuManager, Model);
         p.Register(args);
     }
     catch (Exception ex)
     {
         Logger.ErrorException(ex.Message, ex);
     }
 }
コード例 #6
0
        public int HandleRegisterPost(RegisterArgs regArgs)
        {
            //Kreiptis į db su regArgs.User ir id
            int  id = _fr.ReadInfo();
            bool ok1, ok2;

            id++;
            ok1 = _fw.WriteFaceToFile(id, regArgs.Image);
            ok2 = _fw.WriteInfoFile(id);
            if (ok1 && ok2)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt16(Strings.GetString("errorCode")));
            }
        }
コード例 #7
0
        public ServerResult RegisterUser(RegisterArgs args)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(args.FirstName))
                {
                    return new ServerResult
                           {
                               Success = false,
                               Message = "FirstName required"
                           }
                }
                ;

                if (string.IsNullOrWhiteSpace(args.LastName))
                {
                    return new ServerResult
                           {
                               Success = false,
                               Message = "LastName required"
                           }
                }
                ;

                if (string.IsNullOrWhiteSpace(args.UserName))
                {
                    return new ServerResult
                           {
                               Success = false,
                               Message = "UserName required"
                           }
                }
                ;

                if (string.IsNullOrWhiteSpace(args.PasswordHash))
                {
                    return new ServerResult
                           {
                               Success = false,
                               Message = "PasswordHash required"
                           }
                }
                ;

                if (args.UserName.Length < 4)
                {
                    return new ServerResult
                           {
                               Success = false,
                               Message = "User Name too short (min 4 characters)"
                           }
                }
                ;

                User user = new User
                {
                    FirstName    = args.FirstName,
                    LastName     = args.LastName,
                    UserName     = args.UserName,
                    PasswordHash = args.PasswordHash,
                    Email        = args.Email ?? null,
                    Institution  = args.Institution ?? null,
                };

                _repository.AddUser(user);
                return(new ServerResult {
                    Success = true
                });
            }
            catch (Exception e)
            {
                return(new ServerResult
                {
                    Success = false,
                    Message = e.Message
                });
            }
        }
コード例 #8
0
 public ServerResult Register([FromBody] RegisterArgs args)
 {
     return(_registerService.RegisterUser(args));
 }
コード例 #9
0
 public int Post([FromBody] RegisterArgs regArgs)
 {
     return(_postHandler.HandleRegisterPost(regArgs));
 }