leftBG


BrugernavnAdgangskode Bliv oprettet som bruger...
 Søg 
bajoBG
topRightCorner
spacer
Navigation
Forside
Downloads
Zikula Links
Nyhedsarkiv

Artikler
Din egen Linux-server
Postnuke Lyrik

Hvordan gør jeg?
Ofte Stillede Spørgsmål
Installation af PostNuke
Installation af moduler
Opgradér PostNuke
Tilladelser i PostNuke
Tag backup
Anvend Link modul

PagEd
Installation
Nyhedsvisning

Om Zikula.dk
Kontakt


spacer
· Tilladelser i postNuke

Skrevet: 21-05-2002 af lunds (lunds@postnuke.dk)
Rettet: 23-10-2003
Redigeret af Krabsen maj 2005 (krabsen@postnuke.dk)

Bemærk: Denne guide er skrevet til PostNuke 0.713

Hvad kan man med tilladelser?

Med tilladelser kan man tillade eller nægte enkelte brugere eller grupper af brugere adgang til bestemte dele af en PostNuke-site. Man kan tildele et bestemt adgangsniveau, som angiver hvor stor 'indflydelse' brugeren(e) må have.

Gruppe vs. Bruger tilladelser:

Tilladelsessystemet opererer med to slags tilladelser: Gruppe- og brugertilladelser. Den første type giver tilladelse til hele grupper, mens den sidste giver tilladelse til enkelte brugere. Normalt laver man generelle tilladelser som gruppetilladelser, og benytter kun brugertilladelser til at give enkelte brugere ekstra tilladelser. Det kunne f.eks. være hvis en enkelt bruger skulle have ret til at redigere artikler, men ikke have generel administrationsadgang. Denne miniGuide tager udgangspunkt i gruppetilladelser, men principperne er nøjagtig de samme for brugertilladelser.

Den enkelte dele af en tilladelse:

Gruppe/Bruger: Angive hvilken gruppe eller bruger (afhængig af om der er tale om en gruppe- eller brugertilladelse) tilladelsen skal virke på. Udover de grupper man selv har oprettet findes yderligere 2 standard-grupper: Alle grupper og gruppen for Uregistrerede brugere. Alle besøgende, der ikke er logget ind har brugernavnet Anonym og gruppen Uregistrerede gruppe i systemet.

Komponent:

Angiver hvilken del af sitet, tilladelsen gælder på. Det kunne være en blok, et modul el.lign. Ved at klikke på linket Komponent fås en liste over hvilke komponenter (og Tilfælde, se næste punkt), der er registreret i systemet, og som man altså kan give tilladelser til. Man kan kun bruge de navne/tekster, der er listet. Husk at skrive hele den angivne tekst, inklusive eventuelle koloner (:). De er meget vigtige - mere om dette senere. Bemærk desuden at der er forskel på store og små bogstaver.
Den komponent de fleste starter med at rode med er Menublock::, der giver tilladelser i blokke af typen menu.

Tilfælde:

Angiver hvilken del af komponenten, tilladelsen gælder på. Det kan f.eks. være navnet på et link i hovedmenublokken. Ligesom for Komponenter kan man klikke på linket Tilfælde hvorved man får samme liste over registrerede tilfælde som ved komponenter. I modsætning til dem skal man udskifte teksten i tilfælde med de såkaldte instanser af komponentdelen. Dette kræver vist lidt mere forklaring: Til hovedmenukomponenten fra ovenfor listes dette tilfælde: Block title:Link name:. Dette angiver at man kan lave en tilladelse, der gælder på blokke med en bestemt titel (Block title) og eventuelt navnet på et bestemt link (Link name). Kolonet adskiller de enkelte dele. Det er ikke nødvendigt at vide hvorfor og hvordan man bruger kolon, med mindre man vil udvikle sine egne moduler/blokke, hvilket falder udenfor denne guide. Vil man f.eks. lave en tilladelse på linket Administration i hovedmenuen, der på PostNuke har titlen Navigation, ender man med dette tilfælde: Navigation:Administration:

Bemærk: Da man f.eks. i tilfældet for hovedmenuen skriver bloktitel og linknavne, skal man passe på, hvis man bruger multisprog-funktionen. Det betyder naturligvis at man skal lave tilladelser for hver enkelt sprog man har blokke i, da de engelske linknavne jo nok ikke er de samme som de danske :-) Ligesom for Komponent er der forskel på store og små bogstaver!

Niveau:

Der er forskellige adgangsniveauer, svarende til hvor stor indflydelse man må have på de enkelte dele af sitet. Grunden til at man ikke bruger gruppeinddelingen til at give et bestemt niveau af adgang til hele sitet for en bestemt gruppe er, at nogle grupper måske skal have adgang til at redigere indhold i én del af sitet, men ikke i en anden del. Ved at kombinere grupper med et niveau kan man opnå netop dette. Man kan altså skræddersy adgangen til alle dele af sitet og kun give adgang til de dele, der er nødvendige.

De mulige niveauer:
  • Ingen - Ingen adgang overhovedet (f.eks. almindelige brugere til administrationspanelet)
  • Oversigt - brugeren må se en oversigt over indholdet (f.eks. artikeloversigten på forsiden)
  • Læs - brugeren må læse indholdet (f.eks. hele artiklen)
  • Kommentar - brugeren må kommentere indholdet (f.eks. skrive kommentarer til artikler)
  • Moderér - brugeren må moderere indholdet (f.eks. moderere kommentarer)
  • Redigér - brugeren må redigere indholdet
  • Tilføj - tilføjelse af nyt indhold
  • Slet - giver sig selv :-)
  • Admin - Total kontrol (bruges til at afgøre om brugeren er administrator)

Niveauerne er kumulative, dvs. at et højere niveau også giver samme rettigheder sin alle lavere niveauer. Niveauet Kommentar giver også ret til at læse og se oversigten. Dette virker vel også meget naturligt. Det kan nogle gange være svært at vide hvilket niveau, der er nødvendigt til det man ønsker at opnå. Der er 2 veje ud af dette: For de programmeringserfarne: Kig koden igennem efter det sted hvor rettigheden checkes.
For alle andre:

  1. Opret tilladelsen med niveauet admin, så du er sikkert på at det er højt nok.
  2. Flyt tilladelsen til det rette sted, altså indtil du kan se den rette effekt. Grunden til at niveauet skulle sættes til admin er at både niveauet og rækkefølgen har indflydelse på om tilladelsen har effekt. Med niveau admin er du sikker på at det kun er rækkefølgen, der spiller ind her.
  3. Sæt niveauet til ingen og prøv dig frem med et højere niveau ad gangen til du ser effekten.

Hvem bestemmer hvilke tilladelser jeg kan lave?

Det er vigtigt at forstå at det er programmøren af modulet/blokken, der bestemmer, hvordan tilladelser kan bruges i det enkelte modul/blok. Derfor kan man komme ud for at det ikke altid er lige gennemskueligt hvilket niveau en bruger skal have for at give adgang til en bestemt del af modulet/blokken. Specielt i forbindelse med tilladelser i blokke, der viser indhold fra andre moduler, skal man huske på at tilladelsen som regel skal gives til det indhold, der vises i blokken og ikke blokken selv. Tilladelsen til blokken angiver udelukkende om brugeren må se selve blokken. Om han må se indholdet styres af en tilladelse til det modul, der håndterer indholdet. F.eks. har mange problemer med afstemningsblokken: Hvis man vil tillade anonyme brugere at stemme, skal man lave en tilladelse til komponenten Polls:: og ikke Pollblock:: som mange tror. Dette skyldes naturligvis at indholdet kommer fra modulet Polls. Pollblock fremviser bare indholdet. Det samme gør sig gældende i forbindelse med links. Man har som regel en tilladelse, der skjuler linket til administrationsmenuen, men det forhindrer ikke brugere i at skrive linket i adresselinien på deres browser hvis de kender den. Man skal derfor huske også at forhindre adgangen til selve administrationsmodulet! Som udgangspunkt har man fuld adgang med mindre der er en tilladelse, der siger noget andet. Dette virker meget uoverskueligt, for hvor mange steder skal man så egentligt huske at stoppe adgangen til? Problemet er dog ikke så stort, idet man som regel laver en generel tilladelse, der forhindrer al adgang under et bestemt niveau (se PostNuke-eksemplets tilladelse nr.3).

Rækkefølgen har betydning:

Når man har oprettet sin tilladelse oplever de fleste at det ikke virker. Dette skyldes at Postnuke søger igennem tilladelserne fra toppen og nedefter. Første gang en tilladelse matcher, tages niveauet fra denne tilladelse og bruges til at afgøre om brugeren har tilstrækkelig højt adgangsniveau. Normalt vil man opdele sine tilladelser således at man har nogle specifikke tilladelser til nogle enkelte dele af sitet (f.eks. tillader uregistrerede brugere at stemme i afstemningen) og derefter nogle generelle, der f.eks. nægter alt andet. For at dette skal virke er det nødvendigt at gennemsøge tilladelserne i en bestemt rækkefølge så man finder den specifikke tilladelse før den generelle. Hvis man ikke gjorde det, ville man måske finde den generelle først, og den passer jo (da den matcher alt), men giver ingen rettigheder. Man kan ændre rækkefølgen på sine tilladelser ved at klikke på pilene i oversigten.

Avanceret brug af tilladelser:

Tilladelsessystemet bruger de såkaldte regulære udtryk (regular expressions) til at søge efter matchende tilladelser. Det gør at man kan lave nogle ret smarte ting med tilfældene i sine tilladelser:

Wildcard-matching:

Mellem kolonerne i Tilfælde står de tekster som man matcher ud fra. Ved at skrive .* i stedet for en tekst, kan man få sin tilladelse til at matche på alle tilfælde. F.eks. vil dette tilfælde: Navigation:.*: gælde for _alle_ links i hovedmenuen, mens Navigation:S.*: vil gælde for alle links, der starter med S. .* betyder altså: 'match alle tegn så mange gange som der er tegn'.

Flere match med en enkelt tilladelse:

Ved at bruge lodret streg (|), kan man lave tilladelser, der giver samme niveau til flere tilfælde på en gang. Man skal bare omslutte alle 'del-tilfælde' med parenteser:
Tilfældet Navigation:(Brugerprofil| Medlemsliste|Log ud|Skriv artikel): gælder altså for linkene Brugerprofil, Medlemsliste, Log ud og Skriv Artikel.

Komplet eksempel på tilladelser på Postnuke:

Note: Nr. er indsat i eksemplet for at lette overskueligheden!

Nr Gruppe Komponent Tilfælde Niveau
1 Admins .* .* Admin
2 Alle grupper Menublock:: Navigation:(Administration| Stats): Ingen
3 Users .* .* Kommentar
4 Uregistrerede gruppe Menublock:: Navigation:(Brugerprofil|Medlemsliste|Log ud|Skriv artikel): Ingen
5 Uregistrerede gruppe Polls:: .* Kommentar
6 Uregistrerede gruppe .* .* Læs

  1. Første tilladelse giver admingruppen admin rettighed til alle komponenter og alle tilfælde.
  2. Anden tilladelse sørger for at Alle Grupper ikke kan se linkene Administration og Stats. Denne tilladelse gælder således også admingruppen, men da vi allerede har fundet en tilladelse, der giver Admin alle rettigheder, får denne tilladelse ingen effekt for admingruppen.
  3. Tredje tilladelse giver Users gruppen (som alle registrerede brugere er medlem af) kommentarrettighed til alle dele. Dette giver ikke nogen problemer mht. til adgang til administrationsmenuen, da man skal have adminrettighed for at se den. Husk at tilladelse 2 kun skjuler linket, ikke indholdet.
  4. Fjerde tilladelse skjuler nogle links for brugere, der ikke er registreret eller logget ind.
  5. Femte tilladelse giver uregistrerede brugere lov til at stemme i afstemningerne.
  6. Sjette tilladelse giver uregistrerede brugere læserettigheder til alle dele. Dette spiller jo kun en rolle for de dele, der ikke allerede er omfattet af en af de ovenstående tilladelser, som f.eks. tilladelse 2, 4 og 5.

Opdateret Mandag, 09. Maj 2005

 Printervenlig Printervenlig    
spacer
bottomLeftCorner tableBaseLeft tableBaseRight bottomRightBG


Alle logoer og varemærker på Zikula.dk tilhører deres respektive ejere.
Kommentarer tilhører forfatteren og kan ikke tages som udtryk for Zikula.dk´s synspunkter.
Ophavsretsligt beskyttet © 2000-2008.