在Flask中设置权限

布罗瑟夫

我正在阅读Miguel Grinberg撰写的Flask Web Development一书,而他如何为应用程序中的各种任务设置权限令我感到困惑。他只是为每个任务设置随机位值吗?

class Permission:
    FOLLOW = 0x01
    COMMENT = 0x02
    WRITE_ARTICLES = 0x04
    MODERATE_COMMENTS = 0x08
    ADMINISTER = 0x80

他继续说:“将为每个任务分配一个位,并且对于每个角色,该角色允许的任务的位将设置为1”。我不太确定他的意思。

搅拌机

将每个权限标志表示为8位二进制整数:

class Permission:
    FOLLOW            = 0b00000001
    COMMENT           = 0b00000010
    WRITE_ARTICLES    = 0b00000100
    MODERATE_COMMENTS = 0b00001000
    ADMINISTER        = 0b10000000

请注意,对于每个标志,标记如何1位于其自己的列中。这样,您可以对多个标志进行按位或运算,以为用户提供权限的任意组合:

   0b00000001  # FOLLOW
   0b00000010  # COMMENT
|  0b00000100  # WRITE_ARTICLES
=============
   0b00000111  # FOLLOW, COMMENT, and WRITE_ARTICLES

要测试用户是否具有给定的权限,请按位将其与给定的标志进行“与”运算:

   0b10000101  # ???
&  0b10000000  # ADMINISTER
=============
   0b10000000  # The result isn't 0, so the user has the ADMINISTER flag

这是将固定数量的权限编码为整数的一种节省空间的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在android中设置权限WRITE_SECURE_SETTINGS?

来自分类Dev

在Cocoa中:如何设置读写文件夹的权限?

来自分类Dev

如何弹出“在隐私设置中启用访问权限”视图

来自分类Dev

在Django中为群组/用户设置权限

来自分类Dev

在Flask和JS中设置Cookie

来自分类Dev

如何设置在Django中创建的默认权限名称?

来自分类Dev

如何在iOS中设置文件夹/文件的权限

来自分类Dev

在设置中更改权限通讯簿时,应用崩溃

来自分类Dev

如何为cpanel中的文件设置默认权限集

来自分类Dev

在Flask中从后台进程设置缓存

来自分类Dev

尽管已在清单中设置了对SpeechRecognizer的权限,但权限不足

来自分类Dev

如何在neo4j中设置权限?

来自分类Dev

如何在Django REST Framework中设置POST请求的权限?

来自分类Dev

我可以从设置中授予危险的权限吗?

来自分类Dev

在MySql中动态创建数据库并设置权限

来自分类Dev

如何检查用户是否在“设置”中授予文件系统权限?

来自分类Dev

如何在BigQuery中设置表级写权限?

来自分类Dev

如何设置适当的权限以在Cloud Composer中运行KubernetesPodOperator?

来自分类Dev

设置在代码中创建节点的权限

来自分类Dev

在Linux中设置特定用户和组的权限

来自分类Dev

在Virtualbox VM中,如何设置文件系统权限?

来自分类Dev

在Flask和JS中设置Cookies

来自分类Dev

GPM中设置的NTFS权限会覆盖当前权限

来自分类Dev

如何在Git中设置权限?

来自分类Dev

根据用户权限设置权限

来自分类Dev

在rsyslog配置中设置日志文件的权限

来自分类Dev

尽管已在清单中设置了对SpeechRecognizer的权限,但权限不足

来自分类Dev

如何在Bukkit中设置权限?

来自分类Dev

无法在 Flask 中设置多个 cookie

Related 相关文章

  1. 1

    如何在android中设置权限WRITE_SECURE_SETTINGS?

  2. 2

    在Cocoa中:如何设置读写文件夹的权限?

  3. 3

    如何弹出“在隐私设置中启用访问权限”视图

  4. 4

    在Django中为群组/用户设置权限

  5. 5

    在Flask和JS中设置Cookie

  6. 6

    如何设置在Django中创建的默认权限名称?

  7. 7

    如何在iOS中设置文件夹/文件的权限

  8. 8

    在设置中更改权限通讯簿时,应用崩溃

  9. 9

    如何为cpanel中的文件设置默认权限集

  10. 10

    在Flask中从后台进程设置缓存

  11. 11

    尽管已在清单中设置了对SpeechRecognizer的权限,但权限不足

  12. 12

    如何在neo4j中设置权限?

  13. 13

    如何在Django REST Framework中设置POST请求的权限?

  14. 14

    我可以从设置中授予危险的权限吗?

  15. 15

    在MySql中动态创建数据库并设置权限

  16. 16

    如何检查用户是否在“设置”中授予文件系统权限?

  17. 17

    如何在BigQuery中设置表级写权限?

  18. 18

    如何设置适当的权限以在Cloud Composer中运行KubernetesPodOperator?

  19. 19

    设置在代码中创建节点的权限

  20. 20

    在Linux中设置特定用户和组的权限

  21. 21

    在Virtualbox VM中,如何设置文件系统权限?

  22. 22

    在Flask和JS中设置Cookies

  23. 23

    GPM中设置的NTFS权限会覆盖当前权限

  24. 24

    如何在Git中设置权限?

  25. 25

    根据用户权限设置权限

  26. 26

    在rsyslog配置中设置日志文件的权限

  27. 27

    尽管已在清单中设置了对SpeechRecognizer的权限,但权限不足

  28. 28

    如何在Bukkit中设置权限?

  29. 29

    无法在 Flask 中设置多个 cookie

热门标签

归档