Можно ли настроить python на выполнение функции только в том случае, если в нее вошел конкретный пользователь? - PullRequest
0 голосов
/ 07 июня 2018

Я создал своего рода систему заявок в службу поддержки через Интернет для своей работы.Я использовал флешку для своей работы с веб-фреймом python, а также настроил несколько баз данных SQL для учетных записей пользователей, а также билеты службы поддержки.Прямо сейчас любой, кто вошел в систему, может удалить билеты.Я хотел бы иметь его, чтобы только конкретная учетная запись пользователя (например, моя) может удалить билеты.Есть ли способ облегчить это в функции удаления билетов?Я имел, хотя, если оператор if, но я не уверен, что параметр использовать.

Вот функция, чтобы удалить билеты и где я предполагаю, что это должно быть сделано:

 # Delete Ticket


@app.route('/delete_ticket/<string:id>', methods=['POST'])
@is_logged_in
def delete_ticket(id):
    # Create cursor
    cur = mysql.connection.cursor()

    # Execute
    cur.execute("DELETE FROM tickets WHERE id = %s", [id])

    # Commit to DB
    mysql.connection.commit()

    # Close connection
    cur.close()

    flash('Ticket Deleted', 'success')

    return redirect(url_for('dashboard'))

1 Ответ

0 голосов
/ 07 июня 2018

Подобно тому, как вы проверяете, вошел ли пользователь в систему с помощью @is_logged_in, вы можете иметь аналогичную проверку декоратора для определенной роли, например @is_admin.

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

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