簡體   English   中英

不同用戶通行證的 Wagtail 權限

[英]Wagtail permission for different user pass

在我的 wagtail 應用程序中,我有一個 model,我只想允許某些類型的用戶查看該 model。在 django 中,我將繼承 UserPassesTestMixin。 在 wagtail 中,我將允許它基於 session 數據。 如果request.session.dados_usuarios.bu == 'Corporate KO',他將能夠查看頁面。 我是鶺鴒的新手,可以這樣做嗎?

在 django 我會這樣做

class SomeView(UserPassesTestMixin, TemplateView):
     ...

     def test_func(self):
         return request.session.dados_usuario.bu == 'Corporate KO'

我在鶺鴒應用程序中的 model

class IframePage(Page):
    iframe_url = models.URLField()

    fabricantes_com_acesso = ParentalManyToManyField(
            Fabricante,
            blank=True,
            verbose_name="Fabricas com Acesso"
        )

    content_panels = Page.content_panels + [
        MultiFieldPanel([
                FieldPanel('iframe_url'),
                FieldPanel('fabricantes_com_acesso'),
            ], 
            
        heading="Informações Principais"),
    ]

Wagtail 有頁面隱私設置,但它們是在頁面樹的部分而不是頁面類型上設置的。 最簡單的選擇是,如果您的所有 IframePages 都在頁面樹的同一部分中。 然后你可以在父頁面上設置一個頁面隱私設置,所有的子頁面都會繼承它。

如果您真的需要它在頁面樹中的任何位置按頁面類型工作,您可以添加一個掛鈎以在創建所有 IframePages 時設置頁面隱私設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM