Django – Benutzer auf den Zugriff auf URLs beschränken

Akasha

Ich erstelle eine App. Es hat ein Manytomany-Feld zum Speichern von Daten über Klasse und Schüler.

urls.py

url(r'^class/(?p<title>[-\w]+)/(?p<id>[\d]+)/',views.list,name ='list'),

Grundsätzlich kann ein user(Lehrer) viele erstellen. class_roomJeder class_roomhat einen titleund viele studentsfolgen in dieser Klasse.

Das Problem ist:

Jeder class_roomhat ein Unikat url. ZB (mywebsite.com/science/88/) Dieser Link ist nur für folgende Schüler zugänglich, nicht für anonyme Benutzer. Dies ist eine Lücke, wenn nicht folgende Schüler versuchen, urldie Seite zu sehen, die nicht zufällig ist /2500/).

Wie kann man einen Schüler daran hindern, auf eine Seite zuzugreifen, die er nicht verfolgt?

fixmycode

das UserPassesTestMixin Mixin kann zu diesem Zweck verwendet werden. Schreiben Sie im Grunde eine View-Klasse, die die test_funcFunktion implementiert . Diese Funktion hat Zugriff, selfdamit Sie die URL und den Benutzer lesen können. Wenn test_func zurückgibt True, darf der Benutzer weitermachen, andernfalls wird er an die Zugriffskontrolle übergeben (wahrscheinlich zum Anmeldeformular umgeleitet, falls konfiguriert).

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Django: Beschränken Sie den Zugriff auf statische Ordner auf nicht eingeloggte Benutzer

Beschränken Sie den Zugriff auf den authentifizierten Benutzer

Beschränken Sie den Zugriff auf Benutzer Node.js.

So beschränken Sie den Zugriff nicht autorisierter Benutzer auf verschiedene Seiten in django

Beschränken Sie in Django Benutzer auf bestimmte URLs

Beschränken Sie den IAM-Benutzer auf den Zugriff auf bestimmte Cognito-Benutzerpools.

JHipster: So beschränken Sie den Benutzer auf den Zugriff auf eigene Daten mit REST

So beschränken Sie den Benutzer auf den Zugriff auf nicht autorisierte Pfade in Angular

Beschränken Sie den Zugriff auf das Formular reset_password von Django in PasswordResetView, falls der Benutzer bereits angemeldet ist

Wie kann ich nur bestimmte Benutzer auf den Zugriff auf das Arbeitselement beschränken?

Wie kann ich den Zugriff auf eine statische Datei auf einen bestimmten angemeldeten Benutzer beschränken?

Beschränken Sie den Zugriff auf statische Dateien auf angemeldete Benutzer

Beschränken Sie den Zugriff auf Aufgaben nur in odoo 12 auf zugewiesene Benutzer

Beschränken des Ticketzugriffs auf den Benutzer

So beschränken Sie den S3-Zugriff auf Benutzer von Active Directory

Wie kann ich den Zugriff meiner Benutzer auf eine bestimmte IP beschränken?

Beschränken Sie den Zugriff auf das Verzeichnis für Benutzer

Firebase Beschränken Sie den Zugriff auf andere Seiten, ohne dass der Benutzer angemeldet ist

Firebase (Firestore)-Sicherheitsregeln, beschränken den Zugriff auf das Objekt für bestimmte Benutzer

Beschränken Sie den Bucket-Zugriff basierend auf dem Benutzer in minio

Beschränken Sie den Zugriff auf einen Teil einer Vorlage auf Benutzer, die Teil einer Gruppe sind, mithilfe von klassenbasierten Ansichten. Django 2.0

So beschränken Sie den Zugriff auf bestimmte Gruppen in der auf Django-Klassen basierenden Ansicht

Wie kann ich den Zugriff auf eine Ansicht auf Superuser in Django beschränken?

Wie kann ich den Zugriff auf Zweigstellen auf bestimmte Benutzer von Git auf dem Centos 7-Server beschränken?

Beschränken Sie den Zugriff auf gespeicherte Dateien auf Benutzerbasis

C # - So gewähren Sie nur dem aktuellen Benutzer Zugriff und beschränken den Zugriff auf andere

Beschränken Sie den Zugriff auf den virtuellen Host

ServiceStack ServerSentEvents beschränken den Zugriff auf den Kanal

Beschränken Sie den Zugriff auf den Ordner "Protokolle"

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv