Python 用户角色、授权、登录和安全,还是主体?

Python 用户角色、授权、登录和安全,还是主体?,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,这个问题有一个7年前发布的类似问题。我想知道目前什么是相关的 我已经找到了很多关于登录、用户授权和控制的文档,我有点不确定该怎么做。我正在使用Flask_SQLAlchemy和sqlite构建一个CRUD应用程序。我希望能够创建特定于用户的登录授权和角色,以便根据您的角色和/或授权,应用程序的某些部分可见或不可见。我希望有人能提供差异和/或利弊,或者行业标准是什么?我在看 烧瓶管理员- 基于角色的授权- 需要登录\u- 烧瓶主体- 此外,还有编写自己的代码的选项,我已经在使用- #check i

这个问题有一个7年前发布的类似问题。我想知道目前什么是相关的

我已经找到了很多关于登录、用户授权和控制的文档,我有点不确定该怎么做。我正在使用Flask_SQLAlchemy和sqlite构建一个CRUD应用程序。我希望能够创建特定于用户的登录授权和角色,以便根据您的角色和/或授权,应用程序的某些部分可见或不可见。我希望有人能提供差异和/或利弊,或者行业标准是什么?我在看

烧瓶管理员-

基于角色的授权-

需要登录\u-

烧瓶主体-

此外,还有编写自己的代码的选项,我已经在使用-

#check if user is logged in
def is_logged_in(f):
    @wraps(f)
    def wrap(*args, **kwargs):
        if 'logged_in' in session:
            return f(*args, **kwargs)
        else:
            flash('Unauthorized, Please login', 'danger')
            return redirect(url_for('home'))
    return wrap
我打算实施-

def admin_required(f):
    @wraps(f)
    def wrap(*args, **kwargs):
        if current_user.role == "Admin":
            return f(*args, **kwargs)
        else:
            flash("You need to be an admin to view this page.")
            return redirect(url_for('index'))

    return wrap

任何关于这方面的想法、意见或见解都将是非常棒的!谢谢大家!

在列出一些相关插件时,没有指定要执行的操作

关于上述插件的一些想法:

  • 烧瓶主体->未维护

  • 烧瓶用户->超过一年没有提交;这对我来说是一个警告信号;我不会用它

  • Flask Admin->我曾在一个应用程序中使用过它,我需要基本的CRUD实现以及一个用户和一个管理员角色;锻炼得不错;虽然有活动,但项目却淹没在问题和请求中;e、 g.多年来,这些例子被打破;琐碎的请求不会被合并

  • Flask Login->我将其用于每个Flask项目,效果非常好;无授权支持!;虽然维护人员非常不活跃,但Flask核心维护人员之一可以访问该项目并进行一些内务工作

所以,如果你想使用Flask,我会使用Flask登录,除非你有一个非常基本的crud应用程序,然后你可以看看Flask管理员

如果Flask不是一个给定的需求,我会看看eg-Django或其他框架