关于在前端应用程序中使用组或角色来限制视图的问题

问题描述 投票:0回答:1

我正在构建一个应用程序,其中包含使用 django 框架的 python 后端和前端的 vue 应用程序。我成功地使用了 django 提供的授权和权限框架。我创建了拥有一组权限的组,并为它们分配了用户。从技术上讲,阅读文档后,建议使用组来检查权限而不是角色。当我需要序列化用户并将其发送到前端时,就会出现问题。我应该发送什么样的信息来确定前端的权限?我应该使用各自的权限序列化用户所属的所有组,还是应该在数据库中创建一个角色字段来简化事情(角色定义得很好)然后发送它。常见的解决方案是什么或者什么是合理的?解决这个问题时应该回答什么样的问题?谢谢您的宝贵时间。

python django security django-rest-framework permissions
1个回答
0
投票

我也遇到过类似的情况,并尝试过这三件事。

  1. 数据库中的角色列:这种方法非常容易实现。在前端给你足够的控制权。但缺点是,你不会利用 django 中组的力量。当用户拥有一篮子权限时,组非常有用。

  2. 使用django组功能作为角色:Django内置的组功能非常容易维护用户权限,如果需要也可以实现多个角色。 Django 管理模块将很容易配置您的组。

  3. 在数据库中同时使用 Django Group 和 Role Column:不要这样做,代码会变得混乱,并且在没有任何额外好处的情况下跟踪两件事会很痛苦。

我的建议采用第二种方法。

© www.soinside.com 2019 - 2024. All rights reserved.