Flask-Security регистрирует пользователя, уже вошедшего в систему как администратор - PullRequest
0 голосов
/ 12 июня 2018

Итак, у меня есть простое веб-приложение, которое позволяет администратору создавать учетные записи для пользователей (эта процедура необходима, как эта).Поэтому у меня есть страница управления пользователями, где учетная запись администратора может добавлять новых пользователей в систему.Мне удалось добавить форму WTForms / Flask-Security в простой модальный режим:

<div class="modal-content m-b-20">
  <h4>add new user</h4>
  <form action="{{ url_for_security('register') }}" method="POST" name="register_user_form">
    {{ register_user_form.hidden_tag() }}
    {{ render_field_with_errors(register_user_form.email) }}
    {{ render_field_with_errors(register_user_form.password) }}
    {% if register_user_form.password_confirm %}
      {{ render_field_with_errors(register_user_form.password_confirm) }}
    {% endif %}
    {{ render_field(register_user_form.submit) }}
  </form>
</div>

Когда я ввожу новое имя пользователя и пароль, я просто перенаправлен на /.Я вижу на вкладке «Сеть» инструментов веб-разработчика Firefox, что запрос POST получает ответ 302 FOUND.

Так как во время процедуры входа в систему обрабатывает запросы баз данных (я использую sqlite)Я ожидал, что он также автоматически добавит их в базу данных для регистрации.Однако после регистрации записи не были добавлены.Я пытался перехватить запрос POST вручную, но каким-то образом следующий код никогда не вызывался, хотя форма action нацелена на /register.

@APP.route('/register', methods=['GET', 'POST'])
@login_required
@roles_required('admin')
def register():
    print('asdf')

.не знаю, как дальше отлаживать это или что я делаю не так.Может быть, это проблема, потому что я пытаюсь зарегистрировать учетную запись как уже вошедший в систему пользователь?

РЕДАКТИРОВАТЬ: Хорошо, после полного отключения login_required s я теперь могу регистрировать пользователей через мой модальный WTForms,Это означает, что основной проблемой является тот факт, что я уже вошел в систему как пользователь с правами администратора.Кто-нибудь знает, как включить регистрацию в качестве вошедшего в систему пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...