首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
华为云
V2EX  ›  Python

对于 web 开发的权限管理

  •  
  •   Mrkon · 128 天前 · 1691 次点击
    这是一个创建于 128 天前的主题,其中的信息可能已经有所发展或是发生改变。
    楼主目前使用的是 python falsk 做后端开发,使用了 RBAC 架构作为权限管理。

    但是我有以下疑问:
    1.在查找该用户是否具有权限的时候,采用的方式是:查找用户角色 -> 用户角色对应的权限表 -> 查找该用户是否具备此权限 这样设计合理吗?
    2.如果我要限制用户可以查看多少页的数据(如分为 50 页,100 页),在权限表中是应该设置一个具体的数字,还是直接设定不可更改的一个权限标示就足够
    3.对于像腾讯云这样的网站,所用的定制权限(如使用的机器内存大小,这个难道是购买之后就直接固定了吗?),如果我想通过购买来确定权限,应该如何做

    能给个合理建议吗?谢谢
    11 回复  |  直到 2018-07-13 10:15:46 +08:00
        1
    BBCCBB   128 天前
    基于资源的权限控制更加灵活.
        2
    Mrkon   128 天前
    @BBCCBB 谢谢,有教程或者开源项目作为参考吗?
        3
    joyme   128 天前   ♥ 3
    基于资源的权限控制和基于角色的权限控制的主要区别在于:是否显式的表达出某个角色对于某个资源有某个操作的权限。优点体现在需求变更时的需要改动的代码更少

    这是我的一点总结: https://www.myway5.com/index.php/2018/03/29/%E7%B3%BB%E7%BB%9F%E6%9D%83%E9%99%90%E8%AE%BE%E8%AE%A1%E4%B8%ADrbac%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%BD%BF%E7%94%A8/
        4
    wyds591101   127 天前
    我觉得 rbac 挺好的。
        5
    Mrkon   127 天前
    @joyme 谢谢,但是对于一个网站的权限(例如可查的页数)我在权限表里面应该插入不同的行吗?在这行中我是应该明确的表示 1000 页和用户查看的页数进行大小比较,还是只是一个权限设定(如有这个权限才能看 1000 页以上,如果是这样的话,对于比 1000 页小的权限限制(如 100 页),那就需要将两个权限都加入权限池,这样做是否优雅)
        6
    xkeyideal   127 天前
    rbac 在很多场景下就是个鸡肋,不能彻底解决较为复杂的权限问题,比如同一个资源,A 能 CURD,B 仅能 CU 的场景
        7
    joyme   127 天前
    我个人是觉得“应该明确的表示 1000 页和用户查看的页数进行大小比较”这种方案会比较好,因为在这个限定发生改变时,代码改动最小
        8
    wlbcs   127 天前
    将 50 页,100 页存为 2 条权限,然后在用户请求的时候检查一下就行了
        9
    wlbcs   127 天前
    用户和权限之间还可以再加一个用户组,默认用户组有默认权限这样
        10
    Mrkon   127 天前
    @wlbcs 其实这也在我的疑问中。因为我是加了用户组的(如超级管理员等),但是根据一些不错的博客(如 @joyme ),最后还是通过 直接查找是否拥有这项权限 来确定是否返回数据。当然,我认为加了用户组之后管理权限要方便的多,直接赋予角色就行
        11
    dilu   127 天前
    auth 授权了解一下 RBAC 都是很老的产物了
    如果我要一级管理员显示某个按钮 二级管理员不显示 RBAC 就做不到了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2094 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 08:50 · PVG 16:50 · LAX 00:50 · JFK 03:50
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1