python是否可以设置为仅在特定用户登录时执行函数?

2024-05-29 10:54:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为我的工作创建了一种基于网络的服务台票证系统。我在pythonweb框架中使用了flask,还为用户帐户设置了几个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'))

Tags: 函数用户网络id系统mysql帐户connection
1条回答
网友
1楼 · 发布于 2024-05-29 10:54:26

就像检查用户是否使用@is_logged_in登录一样,您可以对特定角色进行类似的修饰器检查,例如@is_admin。你知道吗

分配用户角色并检查这些角色通常比硬编码检查特定用户的身份要好得多,因为单个用户经常加入和离开,但角色相对稳定。你知道吗

相关问题 更多 >

    热门问题