【问题标题】:Django Rest Framework Restricting ViewsDjango Rest 框架限制视图
【发布时间】:2021-06-07 22:58:09
【问题描述】:

我正在构建一个可以托管多个应用程序的网站。某些应用程序只能由 LDAP 后端的某些组访问。为了在纯 Django 堆栈上实现这一点,我使用了

user_has_perm
@user_passes_test()

这样某些视图只能由有权添加项目的用户访问(我授予将项目添加到某些组的权限,它们会自动从 LDAP 放入一个组中)

但是,我现在正在迁移到 React + Django 堆栈。我怎样才能达到类似的效果,如果您在正确的 LDAP 组中,您只能访问某些应用程序。 注意 - 我有一个单一的反应应用程序前端,它使用路由器来访问不同的组件(应用程序)

【问题讨论】:

    标签: javascript python reactjs django django-rest-framework


    【解决方案1】:

    如果您有混合架构 最简单的解决方案是做同样的事情,但要查看您的反应应用程序

    user_has_perm
    @user_passes_test()
    *view_that_renders_template_with_react*
    

    如果你有很多页面和不同的页面,你可以添加一个额外的检查是否允许用户访问这个页面,你可以将此信息添加给用户或发出请求,如果没有做某事,重定向或抛出像错误 403 这样的错误,您也可以使用本机 django-rest-framework 权限并在请求期间检查它,如果用户没有权限则执行某些操作。如果你没有使用 react 路由器,但你也有混合架构(你通过 django 模板/静态连接 react),你可以制作许多相同的视图,检查不同的东西,然后在 django urls 中为它们定义 url, 我无法提供更清晰的解释和附加代码,因为构建此类应用程序的方法很多,并且每种方法都需要单独的解决方案,所以我只是解释了可能的解决方案,使用哪些以及如何使用取决于您的实现和架构'已经选择了

    【讨论】:

      猜你喜欢
      • 2021-01-09
      • 2018-10-19
      • 2014-05-03
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 2017-04-13
      • 2016-11-20
      • 2017-12-30
      相关资源
      最近更新 更多