예제 #1
0
        public void ChangePassword(ChangePasswordClientData clientData)
        {
            var account = GetOrFail(clientData.Login);

            IdentityResult result;

            if (account.Login != UserContext.CurrentUser.Login)
            {
                //Only Administrators can change user account password
                _rightsManager.CheckRole(AccountRole.Admin);

                result = _userManager.NewPassword(account.Login, clientData.NewPassword);
            }
            else
            {
                result = _userManager.ChangePassword(account.Login, clientData.CurrentPassword,
                                                     clientData.NewPassword);
            }

            Try.Condition(result.Succeeded, $"Ошибка обновления персонажа: {result.Errors.FirstOrDefault()}");

            UserContext.AddGameEvent(account.Login, GameEventType.None, $"Изменен пароль");
        }
예제 #2
0
 public IHttpActionResult ChangePassword(ChangePasswordClientData clientData)
 {
     UserContext.Accounts.ChangePassword(clientData);
     return(Ok());
 }