Hvordan skjule ressurser i dokumenttreet fra administrasjonspanelet til Modx Revolution manager. Avslutningssider fra gjester Modx revo hvilken gruppe ressursen tilhører

MODX har en interessant funksjon - du kan endre utseendet til ressursredigeringsskjemaet nesten som du vil. Dessuten kan du lage forskjellige skjemaer for forskjellige brukergrupper, og til og med for forskjellige ressurser. Du kan velge forskjellige skjemaprofiler for en gitt ressurs avhengig av dens mal, overordnede eller andre egenskaper.

Og for dette trenger vi ikke å skrive en eneste linje med kode!

La oss se hva du for eksempel kan gjøre med skjemaer:

Først, la oss fjerne de unødvendige elementene fra toppmenyen til ett generelt element - "Utvikler". For å gjøre dette, gå til "System" -> "Handlinger", opprett et nytt menyelement i roten og dra alle unødvendige elementer dit:

Deretter går du til delen "Sikkerhet" -> "Skjemainnstillinger" og oppretter en ny profil, for eksempel "Innholdsbehandling". Høyreklikk deretter på den og velg "Rediger", gå til fanen "Brukergrupper" og legg til en gruppe som de nye reglene skal brukes på.

Deretter lager vi et nytt sett med regler. Det er to typer av dem - en for formen for å lage en ressurs, den andre - for formen for å redigere den (henholdsvis opprette og oppdatere). Det kan være flere av disse reglene - minst én regel for hver ressurs.

Etter at regelen er opprettet, vil du se innstillingssiden - det er tre faner: Regelsettinformasjon, Regioner, Tilleggsfelt.

Den første fanen viser standard ressursfelt. De kan deaktiveres eller gi nytt navn. Regioner er faner på en ressurs. Du kan opprette en ny region og plassere noen TV-parametere der, så vil ressursen ikke ha dem på fanen "Tilleggsfelt", men på en ny fane - som du spesifiserer. Her kan du deaktivere standardfaner, for eksempel "Ressursgrupper".

På den tredje fanen angir du plasseringen til en bestemt TV-parameter.

Jeg laget et lite jukseark på standardregioner:



Så la oss umiddelbart fjerne alle faner for brukeren bortsett fra den første. Fjern merket for regionene: modx-side-innstillinger, modx-panel-ressurs-tv, modx-ressurs-tilgangstillatelser. Deretter vil vi bare la sidetittel og alias være igjen fra standardfeltene. Vi fjerner avmerkingsboksene fra resten. Angi et nytt navn for sidetittelfeltet: "Nyhetstittel" og alias: "Sideadresse".

Etter dette, gå til fanen "Tilleggsfelt" og angi at TV-parametrene skal være i et eller annet område av skjemaet (i samsvar med juksearket).

Alt som gjenstår er å angi hvilke ressurser denne regelen gjelder - i "Mal"-elementet angir vi hvilke ressurser med hvilke maler regelen skal brukes på. Hvis regelen gjelder for alle maler, spesifiserer vi ingenting. Og det er to elementer til: "Begrensende felt" og "Begrensende verdi". Du kan angi andre felt her.

La oss påpeke at denne regelen gjelder for ressurser som ligger i "Nyheter" - i elementet "Begrensningsfelt" skriver vi forelder, og i «Begrensende verdi»-ID-en til «Nyheter»-ressursen, for eksempel, 22 .

Et av de første problemene jeg møtte da jeg byttet til ModX Revolution var å ikke vite hvordan jeg skulle vise navnet på kategorien (foreldre) i artikkelkunngjøringen på hovedsiden. Til tross for innsatsen ga Google svært lite informasjon, mest på den forrige Evo-tråden. På en eller annen måte er det en løsning på problemet, og i dag skal jeg fortelle deg det hvordan du viser kategorinavnet på hovedsiden til nettstedet i Modx Revolution.

Hva er en ressurs i ModX Revolution?

I CMS/CMF ModX forstås en ressurs som enhver side som er opprettet i admin-panelet; disse kan være vanlige sider på et nettsted (dokumenter), eller vanlige nettlenker, symbolske lenker, et statisk element eller filer. Som standard er en ressurs et dokument, som også er en side på nettstedet ditt.

En ressurs kan være en beholder og fungere som en katalog inkludert en gruppe andre ressurser. Eksempel:

  • Oppretting av nettsted (kategori)
  • — Hvordan lage en nettside fra bunnen av? (bloggartikkel)
  • — Hvordan registrere et domene? (bloggartikkel)
  • Hvordan vise kategorinavn i ModX?(bloggartikkel)

Vis navnet på kategorien der artikkelen er plassert i ModX Revolution

Nå vet vi hva en ressurs er, og vi står overfor en oppgave skrive ut foreldrenes navn, med andre ord, en beholder i hver oppføring i kunngjøringen på nettstedet.

Først må vi installere det vi skal bruke til å sende ut, nemlig pdoTools-pakken, hvis du ikke har den installert, så gå raskt til pakkeinstallasjonsprogrammet og installer det, det inkluderer mange utdrag som vil hjelpe oss og det er ved hjelp av det at jeg skriver ut alle blogginnlegg. Vi trenger en av kodebitene som er inkludert i pdoTools-sammenstillingen, nemlig pdoField, som viser et hvilket som helst felt for den angitte ressursen eller dens overordnede, inkludert TV-parametere.

Etter å ha installert pakken, åpne malen som er ansvarlig for å vise artikkelkunngjøringen og plasser en enkel kode

[]`&field=`sidetittel`]]

Ved å bruke denne koden viser vi på nettstedet navnet på beholderressursen der det nåværende materialet er plassert i form av en lenke med en skriftlig tittel. Vi lagrer malen, oppdaterer siden og ser utdraget i aksjon. Jeg håper denne artikkelen hjalp deg, abonner på bloggen og del lenken med vennene dine. Til neste gang.

God ettermiddag, kjære lesere. I dag vil jeg fortelle deg hvordan du skjuler systemressurser eller ressurser som ikke er nødvendige for lederen fra dokumenttreet på et nettsted under administrering Modx-revolusjonen(Gjeldende versjon 2.4.2 ). Først, la oss forstå hvorfor vi trenger dette. I dokumenttreet har vi systemressurser som vi ikke viser i menyen. Dette er for eksempel nettstedskart, søkeresultater, 404-side, nettsted ikke tilgjengelig og mange mange andre. Og jeg ville virkelig ikke at en vanlig leder skulle se disse ressursene i dokumenttreet. Og i Modx-revolusjonen Dette er gitt - de kan ganske enkelt skjules. Jeg vil nå beskrive i detalj hvordan dette gjøres. Som et eksempel vil jeg gi et av nettstedene mine. Dokumenttreet ser slik ut:

Vi ser at det er systemressurser her som ikke vises i menyen: Sitemap, Handlevogn, Søkeresultater og Checkout. Vi må skjule disse ressursene for en altfor nysgjerrig leder slik at han ikke ødelegger noe der.

Opprett en ressursgruppe

vi går til Innhold/ressursgrupper

og trykk på knappen "Opprett ressursgruppe"

og opprette en gruppe "Admin"(du kan kalle det noe annet)

Vi krysser ikke av for noen bokser. trykk på knappen "Lagre"

Overføring av de nødvendige ressursene til ressursgruppen "Admin".

Vi gir tilgang til ressursgruppen "Admin" kun til brukergruppen "Administrator".

For dette går vi til "Adgangskontroll"

Høyreklikk på brukergruppen "Administrator" og klikk "rediger brukergruppe"

La oss gå til fanen "Tilgangsrettigheter"

Her går vi til fanen "Tilgang til ressursgrupper"

Og trykk på knappen "Legg til ressursgruppe"

  • Ressursgruppe:"Admin"
  • Kontekst: Manager (mgr)
  • Minimum rolle: Medlem-9999
  • Tilgangspolicy: Ressurs

Vi oppdaterer lederens administrasjonspanel og ser at ressursene vi har lagt til i ressursgruppen "Admin" forsvant.

Selvfølgelig, forutsatt at du opprettet lederens administrasjonspanel ved å bruke dette .

Neste gang du trenger å skjule en ressurs, kan du ganske enkelt gå til denne ressursen, klikk på "Gruppe av brukere" og merk av i boksen overfor "Admin"

Det er alt jeg har, lykke til med læringen Modx-revolusjonen og frem til nye leksjoner. Jeg håper det hjalp. Flink.

Her vil jeg snakke om hvordan man kan gjøre enkelte sider på siden stengt for uautoriserte brukere, dvs. gjester. Dette er noen ganger nødvendig når du trenger å opprette private seksjoner. Så la oss begynne.

Brukergruppe

Vi oppretter en gruppe brukere som vi vil gi tilgang til lukkede sider. For å gjøre dette, åpne systemmenyen (i øvre høyre hjørne) og velg "Access Control".

Klikk på Ny brukergruppe-knappen.

Deretter må du spesifisere den nyopprettede gruppens tilgangsrettigheter til nettkonteksten - Last inn, liste og se.

Ressursgruppe

Nå må du opprette en ressursgruppe som vil inkludere sider for privat tilgang. Velg elementet i toppmenyen i administrasjonspanelet Innhold > Ressursgrupper. Klikk på knappen Opprett ressursgruppe i vinduet som åpnes. Fyll ut feltene i ressursgruppedialogen.

Klikk på Lagre-knappen. Allerede her kan vi legge til private sider i ressursgruppen - fra høyre side med musen flytter vi ønsket side til ressursgruppen til venstre. Men oppsettet er ikke ferdig ennå. Nå må vi redigere ressursgruppens tillatelser fordi MODX gir feil tillatelser som standard. Gå igjen til "Access Control" og endre tilgangen til ressursgruppen for gruppene "(anonym)" og "Users" til Bare last Og Last inn, liste og se.

Hvorfor gi anonyme personer tilgang til lukkede ressurser? Hvis du ikke gir det, vil ikke MODX kunne laste siden og vil vise en 404 "ikke funnet"-kode. Og så vil MODX laste inn siden, sjekke rettighetene og returnere 403 "tilgang nektet". Forresten, helst i systeminnstillingene uautorisert_side spesifiser ID-en til siden som MODX vil omdirigere ubekreftede brukere til.

Du kan legge til hvilken som helst side i en ressursgruppe på siden til selve ressursen på fanen "Ressursgrupper" ved å merke av i den aktuelle avmerkingsboksen.

Dette fullfører oppsettet. Nå, når en gjest prøver å åpne siden for autoriserte brukere, vil han bli omdirigert til siden du spesifiserte i systeminnstillingene i nøkkelen uautorisert_side.

21. desember 2015, 12:28 0 5204

En artikkel der vi skal se på hvordan tilgangsrettighetssystemet er organisert i MODX Revolution, samt noen standardinstruksjoner for innstilling av tillatelser for brukere.

Tilgangsrettighetssystem i MODX

MODX Revolution lar deg ikke direkte tildele rettigheter til en bruker. I dette systemet utføres denne handlingen gjennom gruppe brukere.

Med andre ord, for å gi en bruker noen rettigheter, er det nødvendig:

  • opprette en gruppe og tildele de nødvendige privilegiene til den;
  • plassere en eller flere brukere i denne gruppen.

Men å være bruker i en gruppe betyr ikke at han vil motta alle dens privilegier. Rettighetene som brukeren vil motta vil bli bestemt ved å bruke rollen som er tildelt ham i denne gruppen. En brukers rolle (rangering) i en gruppe bestemmes ved hjelp av et tall fra 0 til 9999. Denne verdien bestemmer hvilken bruker som vil motta gruppeprivilegier og hvilke som ikke vil.

Med andre ord rolle er en mekanisme som lar forskjellige brukere innenfor samme gruppe tildele forskjellige rettigheter.

La oss se på et lite eksempel.


I dette eksemplet:

  • Bruker Bruker 1 tilhører gruppen Gruppe1. Han har de gruppeprivilegiene hvis rolle er større 2000 .
  • Bruker Bruker 2 består av 2 grupper. Den har 2 gruppeprivilegier. Fra den første gruppen ( Gruppe1) han har de privilegiene hvis rolle er større enn eller lik 1000 . Og fra den andre ( Gruppe2) - de privilegiene hvis rolle er større enn eller lik 9999 .
  • Bruker Bruker 3 er i gruppen Gruppe2. Denne gruppen gir ham de rettighetene hvis rolle er større enn eller lik 5000 .

MODX tilgangspolicy

Innstilling av gruppeprivilegier i MODX Revolution gjøres ved å bruke tilgangspolicyer. Tilgangspolicyer tildeles en gruppe i forhold til visse MODX-enheter, nemlig kontekst, ressursgruppe, elementkategori, filkilde og navneområde. I tillegg er det også indikert minimal rolle, som brukeren av denne gruppen trenger for å ha disse rettighetene.

La oss se på bildet.

Rettighetene som brukere av en gruppe mottar, avhengig av hvilken rolle hver av dem spiller i den

I dette eksemplet:

  • Bruker Bruker 1(rolle i gruppe 1 - 2000 ) har alle gruppeprivilegier Gruppe1, hvis rolle er større enn eller lik 2000. Dvs. Dette K1, K2 Og G2.
  • Bruker Bruker 2 har den høyeste rollen i gruppen (0) og derfor alle dens privilegier ( K1, K2, G1 Og G2).
  • Bruker Bruker 3 har i gruppen Gruppe1 laveste rolle ( 9999 ). I samsvar med den kan han utføre handlinger i systemet definert i K2 Og G2.

En tilgangspolicy er et sett med rettigheter gitt til en bruker til å utføre handlinger på et nettsted som kjører CMS MODX Revolution.

Hvorfor implementeres det på denne måten? Dette skyldes det faktum at det er mange rettigheter i MODX, og det er mer praktisk å tildele dem i grupper (med andre ord, ved å bruke en tilgangspolicy), i stedet for én om gangen.

For eksempel tilgangspolicy Last inn, liste og se har følgende sett med tillatelser:

  • last (last gjenstander);
  • liste (få en samling av objekter);
  • view (se på objekter).

Hvordan lage din egen tilgangspolicy

Når du angir tillatelser for en gruppe brukere, er du ikke begrenset til de eksisterende (forhåndsinstallerte) policyene i MODX-systemet. Om nødvendig kan du opprette nye. Policyoppretting i MODX er basert på tilgangspolicymal. En Access Policy Template er en MODX Revolution-enhet som definerer den maksimale listen over tillatelser som er tilgjengelige når du oppretter en Access Policy.

Altså for å opprette en tilgangspolicy med de nødvendige tillatelsene nødvendig:

  1. Finn en passende mal for tilgangspolicy (om nødvendig, rediger en eksisterende eller lag en ny).
  2. Opprett en tilgangspolicy ved å velge riktig mal.
  3. Fra hele listen over tillatelser som tilbys av malen, inkluderer du bare de du vil gi brukerne (hvis de vil ha denne policyen).
Hvordan settet med tilgjengelige tilgangspolicytillatelser bestemmes

Når du oppretter en tilgangspolicy, start alltid med å tildele minimum antall rettigheter som er tilstrekkelig for at brukeren kan utføre bestemte handlinger i systemet. Om nødvendig kan du alltid utvide tillatelsene som er gitt til brukeren.

Anonym bruker

I MODX Revolution er enhver uautorisert besøkende på nettstedet anonyme og tilhører gruppen (anonym). Du kan enkelt bekrefte dette hvis du oppretter følgende kodebit, anroper den i ressursmalen og åpner siden.

Php-kodebitkode GetUser:

user->get("brukernavn");

Ringe et utdrag på en side:

[[!GetUser]]

Resultat:

(anonym)

Handlingene til anonyme brukere på et nettsted i MODX reguleres ved å angi gruppetillatelser (anonym). Om nødvendig kan du gi denne gruppen ekstra privilegier eller begrense dem.

Typiske instruksjoner for å angi tillatelser

I denne delen skal vi se på instruksjoner som du kan bruke når du trenger å:

  • begrense tilgangen til visse ressurser for anonyme brukere;
  • lage en innholdsansvarlig som må få tilgang til å jobbe med ressurser i adminpanelet, samt muligheten til å laste opp bilder.

Begrensning av tilgang til visse ressurser

La oss vurdere et eksempel der vi vil begrense tilgangen til visse ressurser for anonyme brukere (for eksempel til en personlig konto, til siden "Passordendring" osv.). Vi vil kun gi tilgang til disse ressursene til registrerte brukere.

For å gjøre dette trenger du:

  1. Skape Brukeres ressursgruppe(Innhold -> Ressursgrupper -> "Opprett ressursgruppe"-knappen). I skjemaet som vises, skriv inn i "Navn"-feltet - Brukere og klikk på "Lagre"-knappen. Plasser de nødvendige ressursene i den (tilgangen må begrenses for anonyme besøkende).
  2. Skape brukergruppe Brukere(Tannhjulikon -> Tilgangskontroll -> Ny brukergruppe-knapp). I dialogboksen som åpnes, skriv inn i "Navn"-feltet - Brukere, "Kontekster" - web, "Retningslinjer for bakgrunn" - (ingen politikk).
  3. Gå til grupperedigeringsmodus (velg "Rediger brukergruppe" i kontekstmenyen for brukere).
  4. Åpne fanen "Tilgangsrettigheter" og i den "Tilgang til ressursgrupper". Klikk på "Legg til ressursgruppe"-knappen og fyll ut skjemaet som åpnes ("Ressursgruppe" - Gruppe, "Kontekst" - (nett), Minimum rolle – Medlem (9999), "Access Policy" - Last inn, liste og se).

Etter dette vil enhver anonym eller annen bruker (som ikke har rettigheter) motta 404 ressurs(siden han ikke engang har rett laste) hvis han prøver å åpne en side fra denne gruppen.

Hvis du vil at anonyme brukere, når du åpner beskyttede sider, skal sendes til en annen (for eksempel autorisasjon), må du i tillegg gjøre følgende (nemlig gi rettighetene laste for denne ressursgruppen):

  1. Åpen systeminnstillinger(Tannhjulikon -> Systeminnstillinger). Velg «kjerne»-navneområdet, «Site»-delen. Finn parameter uautorisert_side(Feilside 403 "Access denied") og gi den verdien - ressurs-ID som inneholder skjemaet "Autorisasjon".
  2. Gå til grupperedigeringsmodus (anonym). I delen "Tilgang til ressursgrupper" (fanen "Tilgangsrettigheter"), legg til Brukeres ressursgruppe og gi den de nødvendige rettighetene (i dette tilfellet "Kontekst" - (nett), Minimum rolle – Medlem (9999), "Access Policy" - Bare last).
Sette opp tilgang til brukerressursgruppen for anonyme brukere

Angi tillatelser for innholdsbehandleren

I dette eksemplet vil vi opprette en "Managers"-gruppe, hvis brukere vil kunne laste opp bilder til en katalog i administrasjonspanelet og arbeide med visse ressurser.

For å gjøre dette kan du for eksempel bruke følgende instruksjoner:

1. Opprett en ny Access Policy Manager med nødvendige rettigheter:

  • Åpne "Access Control"-siden (tannhjulikon -> Access Control) og gå til "Access Policy"-fanen.
  • Lag en kopi av "Content Editor"-policyen.
  • Rediger den opprettede kopien, nemlig endre navnefeltet til Manager og merk av i boksene ved siden av rettighetene directory_list, file_list, file_manager, file_remove, file_tree, file_upload. Som et resultat vil ledertilgangspolicyen ha 30 tillatelser. Dette må gjøres for å gi brukerrettigheter til å arbeide med filer.
  • Klikk på "Lagre"-knappen.
Skjema for konfigurasjon av policy for ledertilgang

2. Skjul ressurser som ledere ikke skal ha tilgang til i administrasjonspanelet:

  • Åpne «Ressursgrupper»-siden og klikk på «Opprett ressursgruppe»-knappen.
  • I skjemaet som åpnes, skriv inn "Navn" - ClosedForManagers, "Kontekster" - mgr Og merke"Gi automatisk tilgang til administratorgruppen".
  • Klikk på "Lagre"-knappen.
  • Dra ressurser som må skjules for ledere i administrasjonspanelet til den opprettede gruppen.

3. Gi tilgang til katalogen der brukeren skal laste opp bilder.

  • Åpne siden "Filkilder", klikk på knappen "Opprett en ny filkilde".
  • Skriv inn teksten i "Navn"-feltet i skjemaet som åpnes Bilder, i "Beskrivelse" - Bilder, i "Filkildetype" - Filsystem.
  • Klikk på "Lagre"-knappen.
  • Rediger den nyopprettede filkilden (høyre museknapp -> "Rediger" handling).
  • Endre verdien av parameterne: basePath – eiendeler/bilder/, baseUrl – eiendeler/bilder/ tillatte filtyper - jpg, jpeg, png, gif.
  • Klikk på "Lagre"-knappen.
Sette opp bildefilkilden

En filkilde som ikke har en brukergruppe knyttet til seg, vil være tilgjengelig for alle backend-brukere. Derfor, for å forhindre at andre filkilder som ikke er knyttet til én gruppe vises til brukere av Administrator-gruppen, kan de for eksempel tilordnes Administrator-brukergruppen.

MODX - Knytte en filsystemfilkilde til administratorgruppen

MODX-tilgangskontrollsystemet ved hjelp av en filkilde lar forskjellige brukere spesifisere spesifikke kataloger som de vil ha tilgang til, samt definere settet med privilegier i dem. Dette er med andre ord et system ved hjelp av for eksempel noen brukere kan få noen kataloger, og andre - andre.

4. Opprett ny brukergruppe og tildele den nødvendige rettigheter.

  • Åpne siden "Tilgangskontroll", gå til fanen "Brukergrupper og brukere", klikk på knappen "Ny brukergruppe".
  • I dialogboksen som åpnes, fyll ut følgende felt: "Navn" - Ledere; "Beskrivelse" - Ledere; "Kontekster" - web, mgr; "Backend Policy" - sjef.
  • Klikk på "Lagre"-knappen.
  • Gå til redigeringsmodusen til den nyopprettede brukergruppen "Administratorer" (høyreklikk på gruppen -> elementet i kontekstmenyen "Rediger").
  • Gå til fanen "Tilgangsrettigheter".
  • Åpne «Tilgang til kontekster»-delen. Tilgang til kontekst web: "Minimumsrolle" - Medlem (9999); Tilgangspolicy – Last inn, liste og se. Tilgang til kontekst mgr: "Minimumsrolle" - Medlem (9999),Retningslinjer for tilgang – sjef.
  • I "Tilgang til filkilde"-delen legger du til en ny oppføring med følgende verdier: "Kilde" - Bilder; "Minimumsrolle" - Medlem (9999), "Access Policy" - Mediekildeadministrator.
  • Klikk på "Lagre"-knappen

5. Opprett bruker og legg den til i "Manager"-gruppen. Sett rolleverdien til 9999 (medlem). Denne rollen vil være nok for ham til å få alle tillatelsene til denne gruppen. Dette skyldes det faktum at vi for denne gruppen ikke tildelte tilgangspolicyer som ville kreve en rolle større enn 9999.

Legge til en bruker i ledergruppen (medlemsrolle)