django 我如何确保只有授权用户才能访问此基于类的视图[已关闭]

x8goxv8g  于 2022-11-18  发布在  Go
关注(0)|答案(2)|浏览(132)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

5天前关闭。
截至5天前,机构群体正在审查是否重新开放此问题。
Improve this question
我有一个风险条目视图,只有项目经理可以访问,其他用户组不能访问。如何确保只有此用户组可以访问此视图?

风险页面基于类的视图

@method_decorator(decorators, name='dispatch')
class Risk_entry_page(View):

    template_name = 'risk/riskEntry.html'

    def get(self, request, *args, **kwargds):
        return render(request, self.template_name)

风险URL

urlpatterns = [
    path('', views.Solution_area_home_page.as_view(), name='risks-home-page'),
    path('risk/', views.Risk_entry_page.as_view(), name='risk-entry-page'),
    path('assumption/', views.Assumption_entry_page.as_view(), name='assumption-entry-page'),
    path('issue/', views.Issue_entry_page.as_view(), name='issue-entry-page'),
    path('dependency/', views.Dependency_entry_page.as_view(), name='dependency-entry-page'),
    path('logout/', views.Logout.as_view(), name='logout-view'),
]
ulydmbyx

ulydmbyx1#

如果您希望仅向***Authorized***用户给予访问权限,则可以在项目中引入Permission,以便具有特定权限的用户可以访问您的 Risk_entry_page class https://django-permission.readthedocs.io/en/latest/
如果您希望只有***登录***用户可以访问,您 Risk_entry_page 类然后使用Login Required mixin。

from django.contrib.auth.mixins import LoginRequiredMixin

@method_decorator(decorators, name='dispatch')
class Risk_entry_page(LoginRequiredMixin, View):

    template_name = 'risk/riskEntry.html'

    def get(self, request, *args, **kwargds):
        return render(request, self.template_name)
r6vfmomb

r6vfmomb2#

您可以使用**LoginRequiredMixinmixin [Django-doc]将视图限制为基于类的视图,只有经过身份验证的用户才能查看。不过,您可能希望使用PermissionRequiredMixin**mixin [Django-doc]将视图限制为只有具有给定(一组)权限的用户才能查看:

from django.contrib.auth.mixins import PermissionRequiredMixin
from django.views.generic import TemplateView

class MyView(PermissionRequiredMixin, TemplateView):
    permission_required = 'some_app.some_permssion'
    template_name = 'risk/riskEntry.html'

相关问题