首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在烧瓶中创建超级用户的最佳方法是什么?

在烧瓶中创建超级用户的最佳方法是什么?
EN

Stack Overflow用户
提问于 2020-02-14 22:18:55
回答 2查看 2.4K关注 0票数 1

我正在开发一个烧瓶应用程序,我需要使用超级用户创建不同类型的用户角色。创建超级用户的最佳方法是什么?我想的一些方法是:

  1. 创建一个自定义命令并在生产中执行该命令。 导入从烧瓶点击导入瓶应用=瓶(__name__)@app.cli.command(“创建-超级用户”)@click.argument(“名称”) def create_superuser(名称):.
  2. 创建一个函数并在第一个请求之前执行。 @app.before_first_request def init_db():db.create_all() insert_superuser()
  3. 或者仅仅在数据库中插入一个超级用户。

如果我做错了,或这是一个不好的做法,在生产中,请告诉我。我对这件事还不熟悉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-14 22:33:10

顺便说一句,对不起,您的问题是flask_restful**,,我真的认为每个人都应该使用** flask_restplus (现在由于维护人员的变更而被 flask_restx**,分叉).**

我可以改变标签,但我想让你选择去做

这才是你最喜欢的。没有最好的办法。这取决于你的用例。然而,我不喜欢第二种方法(before_first_request)。

  1. 自定义命令

如果你想把这个任务交给一个人,你可以用它。人们会来到一个人,谁会添加他们或不在行政方面。

  1. 您可以使用@app.before_request()装饰器,以便每次都执行该操作,但不要每次点亮应用程序时都设置数据库。使用一个数据库,它将引导我们找到第三个数据库。
  2. 数据库中的超级用户(密码使用sha256哈希)。

通常情况下,如果系统正在生产,那么您不想过多地干扰管理员。

还有另一种方法:JWT令牌

票数 1
EN

Stack Overflow用户

发布于 2020-02-14 22:32:53

这里有几种选择-

  1. 有一个CLI命令来添加用户,就像您正在做的那样。我发现大多数项目都采用这种方式,只要您能够在具有适当配置的系统上运行CLI,它就能正常工作。一般来说,将CLI扩展到包括密码重置之类的内容可能是有意义的。
  2. 在应用程序显示请求信息的表单时,有一个“第一次运行”。这就是像Github或Wordpress这样的东西是如何工作的,但是有一个小的威胁,一个知道你正在部署的用户可以打败你进入网络界面。这可以通过第一次运行脚本日志--一个包含安全令牌的URL --来缓解,因此只有访问日志的人才能启动配置项目。如果您没有部署到客户,但这比需要的复杂得多。
  3. 用户是根据环境变量创建的。当您创建开发人员环境时,此路径特别有用,因为它意味着开发人员在安装时不需要运行额外的步骤。不过,在生产中这样做是个坏主意。

我希望这能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60234213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档