Puncte:0

Cum se limitează accesul la paginile Vizualizări ale contului de utilizator?

drapel cn

Am creat pagina Vizualizări cu file în contul de utilizatori.

Problema: Dacă sunt utilizator 3 si merg la pagina utilizatorului 56, am acces la pagina.

Am căutat în filtrele contextuale din pagina Vizualizări și nu există nicio setare care să limiteze acest lucru.

Cum limitez accesul la paginile Vizualizări ale contului de utilizator? Utilizatorul actual trebuie să aibă acces la toate paginile contului său, dar nu și la cele ale altor utilizatori.

EDITAȚI | ×

Iată o pagină de vizualizări foarte simplă pentru contul de utilizator. Cum afișez o pagină 403 dacă merg la o altă pagină de utilizator?

EXEMPLU:

Sunt user ID:88 Am acces la pagina /user/88/demo

Nu trebuie să am acces la /user/69/demo

uuid: faef0cd7-9481-4a11-920e-77b683989956
cod de limbă: fr
stare: adevărat
dependențe:
  config:
    - core.entity_view_mode.node.teaser
  modul:
    - nod
    - utilizator
id: demonstrație
etichetă: Demo
modul: vederi
Descriere: ''
etichetă: ''
tabel_de_bază: node_field_data
câmp_bază: nid
afişa:
  Mod implicit:
    id: implicit
    display_title: implicit
    display_plugin: implicit
    pozitia: 0
    Optiuni de afisare:
      titlu: Demo
      câmpuri:
        titlu:
          id: titlu
          tabel: node_field_data
          câmp: titlu
          relație: niciuna
          tip_grup: grup
          admin_label: ''
          tip_entitate: nod
          entity_field: titlu
          plugin_id: câmp
          eticheta: ''
          exclude: fals
          modifica:
            alter_text: false
            make_link: fals
            absolut: fals
            word_boundary: fals
            elipse: fals
            strip_tags: false
            trim: fals
            html: fals
          element_type: ''
          element_class: ''
          element_label_type: ''
          element_label_class: ''
          element_label_colon: adevărat
          element_wrapper_type: ''
          element_wrapper_class: ''
          element_default_classes: adevărat
          gol: ''
          hide_empty: false
          empty_zero: fals
          hide_alter_empty: adevărat
          click_sort_column: valoare
          tip: sfoară
          setari:
            link_to_entity: adevărat
          grup_coloană: valoare
          grup_coloane: { }
          group_rows: adevărat
          delta_limit: 0
          delta_offset: 0
          delta_reversed: fals
          delta_first_last: fals
          multi_tip: separator
          separator: ', '
          field_api_classes: false
      pager:
        tip: mini
        Opțiuni:
          offset: 0
          articole_pe_pagină: 10
          total_pages: nul
          id: 0
          Etichete:
            următorul: âºâº
            anterior: â¹â¹
          expune:
            items_per_page: false
            items_per_page_label: „Articole pe pagină”
            items_per_page_options: „5, 10, 25, 50”
            items_per_page_options_all: false
            items_per_page_options_all_label: „- Toate -”
            compensare: fals
            offset_label: Offset
      exposed_form:
        tip: de bază
        Opțiuni:
          submit_button: Aplicați
          buton_resetare: fals
          reset_button_label: Resetare
          exposed_sorts_label: „Sortați după”
          expose_sort_order: adevărat
          sort_asc_label: Asc
          sort_desc_label: Desc
      acces:
        tip: perm
        Opțiuni:
          perm: „accesează conținut”
      cache:
        tip: etichetă
        Opțiuni: {  }
      gol: { }
      sorteaza:
        creată:
          id: creat
          tabel: node_field_data
          câmp: creat
          relație: niciuna
          tip_grup: grup
          admin_label: ''
          tip_entitate: nod
          entity_field: creat
          plugin_id: data
          comanda: DESC
          expune:
            eticheta: ''
            field_identifier: ''
          expus: fals
          granularitate: al doilea
      argumente:
        uid:
          id: uid
          tabel: node_field_data
          câmp: uid
          relație: niciuna
          tip_grup: grup
          admin_label: ''
          tip_entitate: nod
          entity_field: uid
          plugin_id: numeric
          default_action: implicit
          excepție:
            valoare: toate
            title_enable: fals
            titlu: Toate
          title_enable: fals
          titlu: ''
          default_argument_type: utilizator
          default_argument_options:
            utilizator: fals
          default_argument_skip_url: false
          summary_options:
            cale_base: ''
            număr: adevărat
            suprascrie: fals
            articole_pe_pagină: 25
          rezumat:
            sort_order: asc
            număr_de_înregistrări: 0
            format: default_summary
          specify_validation: fals
          valida:
            tip: niciunul
            fail: „nu a fost găsit”
          validate_options: { }
          break_frase: false
          nu: fals
        uid_1:
          id: uid_1
          tabel: node_field_data
          câmp: uid
          relație: niciuna
          tip_grup: grup
          admin_label: ''
          tip_entitate: nod
          entity_field: uid
          plugin_id: numeric
          default_action: ignora
          excepție:
            valoare: toate
            title_enable: fals
            titlu: Toate
          title_enable: fals
          titlu: ''
          default_argument_type: fix
          default_argument_options:
            argument: ''
          default_argument_skip_url: false
          summary_options:
            cale_base: ''
            număr: adevărat
            suprascrie: fals
            articole_pe_pagină: 25
          rezumat:
            sort_order: asc
            număr_de_înregistrări: 0
            format: default_summary
          specify_validation: adevărat
          valida:
            tip: 'entity:user'
            fail: „acces refuzat”
          validate_options:
            acces: adevărat
            operare: actualizare
            multiplu: 0
            restrict_roles: false
            roluri: { }
          break_frase: false
          nu: fals
      filtre:
        stare:
          id: stare
          tabel: node_field_data
          câmp: stare
          tip_entitate: nod
          entity_field: stare
          plugin_id: boolean
          valoare: „1”
          Grupa 1
          expune:
            operator: ''
            operator_limit_selection: fals
            lista_operatori: { }
      stil:
        tip: implicit
      rând:
        tip: 'entity:node'
        Opțiuni:
          view_mode: teaser
      interogare:
        tip: views_query
        Opțiuni:
          query_comment: ''
          disable_sql_rewrite: false
          distinct: fals
          replica: fals
          etichete_interogare: { }
      relații: { }
      antet: {  }
      subsol: {  }
      display_extenders: { }
    cache_metadata:
      varsta maxima: -1
      contexte:
        - „languages:language_content”
        - „languages:language_interface”
        - url
        - url.query_args
        - „user.node_grants:view”
        - permisiuni.utilizator
      Etichete: {  }
  Pagina 1:
    id: pagina_1
    display_title: Pagina
    display_plugin: pagină
    pozitia: 1
    Optiuni de afisare:
      display_extenders:
        simple_sitemap_display_extender: { }
        metatag_display_extender: { }
      cale: utilizator/%utilizator/demo
      meniul:
        tip: tab
        titlu: Demo
        Descriere: ''
        greutate: 0
        extins: fals
        nume_meniu: principal
        părinte: ''
        context: „0”
    cache_metadata:
      varsta maxima: -1
      contexte:
        - „languages:language_content”
        - „languages:language_interface”
        - url
        - url.query_args
        - „user.node_grants:view”
        - permisiuni.utilizator
      Etichete: {  }
Puncte:0
drapel de

Puteți face următoarele:

  1. În Filtrele contextuale pentru vizualizare
  2. Verifica specificați criteriile de validare
  3. Verifica Validați că utilizatorul are acces la Utilizator
  4. Sub Operațiune de acces pentru verificare alege Editați | ×.

Acest lucru va limita accesul la utilizatorul însuși și la modurile/administratorii care își pot edita contul.

Alte considerații

Puteți relaxa aceste permisiuni alegând vedere pentru operațiunea de acces, totuși, dacă utilizatorii autentificați sau anonimi au permisiunea de a vizualiza profilurile altor utilizatori pe site, aceștia vor avea și acces la această vizualizare/pagină. Aceasta ar părea a fi situația din întrebarea inițială, deci vedere nu ar funcționa pentru OP. Dar pentru alte site-uri unde utilizatorii nu pot accesa profilurile altor utilizatori, aceasta ar putea fi o opțiune.

Permisiuni suplimentare ar putea fi configurate prin crearea unei noi permisiuni personalizate (într-un modul), de exemplu vizualizați pagina mea personalizată, și adăugați-o ca permisiunea pentru setările de acces pentru vizualizare. Acest lucru ar adăuga un nivel suplimentar de configurare de acces.

drapel cn
Mulțumesc, mi-am actualizat întrebarea cu un exemplu. Dacă adaug un al doilea filtru pop-up cu soluția ta, nu funcționează.
Jaypan avatar
drapel de
Nu înțeleg ce înseamnă asta. Ce este un al doilea filtru pop-up?
Jaypan avatar
drapel de
Se pare că nu ați urmat pașii din exemplul meu: `specify_validation: false`
drapel cn
Am făcut un export greșit, am actualizat
drapel cn
În exemplu. Vreau o pagină cu conținut creat de utilizator și vreau ca dacă utilizatorul merge la aceeași pagină pe alt cont, pagina va afișa o pagină 403
Jaypan avatar
drapel de
Bine. Urmați instrucțiunile din exemplul meu de mai sus.
drapel cn
da multumesc ;-)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.