Login / Status
developer.Resource
Home . Documentation . Document Library . Tutorials
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

1.5. Sider beskyttet af adgangskode

Nu har du styr på at oprette og redigere sider! Det var da ikke så slemt, var det? Ret let at blive webmaster med TYPO3. Senere vil du endda få at se, hvordan du kan uddelegere arbejdet! Fidusen med et CMS er også at du kan have mange brugere til at vedligeholde indhold på det samme websted! Fuld kontrol over adgangstilladelser osv. Det beskrives til sidst i dette dokument.

Altså, en ting er at lave websider som hele verden  kan se. Hvad nu hvis vi kun ville have en del af verden  til at se dem - vores holdkammerater på fodboldholdet? Kan vi lave adgangskodebeskyttelse?

Det er faktisk allerede gjort for dig på webstedet for "FC Bigfeet":

Disse sider i sidetræet er faktisk kun tilgængelige fra frontend'en hvis du har et brugernavn og en adgangskode!

Log ind

Hvis du vil logge ind skal du gå til siden "Log in":

Indtast brugernavnet "john" og adgangskoden "football" (for at gøre det let er det indtil videre den samme adgangskode for ALLE brugere på webstedet). Sørg for at du indtaster det nøjagtig som skrevet her - store og små bogstaver gør en forskel. "John" vil ikke virke - det er "john"...

Klik på "Login"-knappen - du bliver nu dirigeret direkte til "Team pages" (hvis du altså ikke gjorde et eller andet forkert...)

Bemærk også at de sider der før var skjulte nu er synlige i menuen:

Oprette brugere/grupper

Før du kan oprette sider der er beskyttet af en adgangskode skal du først og fremmest have en eller flere frontend-brugere og -grupper. Disse kan laves før, under og efter tilblivelsen af dit websted. Rækkefølgen betyder ikke noget.

Frontend- og backend-brugere

Hov, vent et øjeblik! Hvor mange slags brugere er det?

Jo, der er kun to slags. Husk at vi har to områder i TYPO3 - frontend'en (webstedet) og backend'en (administration).

En frontend-bruger (orange ikoner) kan selvfølgelig logge ind på webstedet. De kan ikke ændring indhold (da de ikke har noget med backend'en at gøre!) men de optræder simpelthen for at give os mulighed for at begrænse adgang til information på webstedet!

Frontend-brugere (også kaldet "Website brugere") oprettes i systemet hvor vi har lyst til at oprette dem. I vores tilfælde har vi lavet en rar lille sysFolder med navnet "Users" til både brugere og grupper. Eneste krav til dette opbevaringssted til frontend-brugere er at vi fortæller skabelonen, at dette er stedet hvor der skal kigges efter brugerne når en login-forespørgsel sendes - mere om det i kapitlet om Skabeloner.

Hvis du vil lave web-applikationer med brugerprofiler i TYPO3 vil du formentlig bruge frontendbrugerne som basis for en extension som kan tilføje yderligere databasefelter til "users"-tabellen - på den måde kan du opbevare og administrere særlig information om website-brugere!

En backend-bruger (opdaterings bruger - blåt ikon) virker i backend'en og beskæftiger sig med at ændre indhold bag scenen. Fordi backend-brugere beskæftiger sig med administrationen af webstedet har de intet med adgangsbegrænsning på selve webstedet at gøre (hvilket selvfølgelig kun er delvist rigtigt, fordi backend-brugerne kan smugkigge skjulte frontend-sider).

Backend-brugere kan kun oprettes et sted - i roden af sidetræet (pid = 0) - og kun af backend-brugere som er "admin"-brugere (har admin-feltet mærket af, hvilket indikeres af det røde ikon!) da de er de eneste brugere  med adgang til poster i roden af sidetræet:

De tre blå backend-brugere (#1) er konfigurerede så de hver kan vedligeholde en lille del af webstedet - mere om det i bruger-kapitlet senere. Backend-brugergrupperne (#2) ville også have været blå hvis ikke "Access lists"-feltet havde været mærket af - tilgiv mig...

Slutteligt er "admin"-brugeren (#3) - den vi arbejder som - rød fordi han har fuldstændig og ubegrænset adgang til alle dele af systemet!

Redigering af bruger eller gruppe

Som du kan se har vi allerede en sysFolder med en brugergruppe og to brugere.

Brugergruppen "Team" er egentlig ikke andet end titlen. Ingen indstillinger eller andet.

Brugerne "john" og "irene" er konfigureret stort på samme måde - blot et brugernavn, en adgangskode og medlemsskab af en gruppe:

(Åh, det er rigtigt! Du har ikke prøvet at bruge Liste-modulet endnu - nå, hvor svært kan det være? Klik på ikonet og den gode gamle klikmenu dukker op. Så er vi på hjemmebane igen. Jeg sagde det jo - hold øje med konsistente koncepter!)

Og her er Johns profil:

Oprette en brugere

Lad os prøve at oprette en bruger. Da frontend-brugere (som sider, sideindholdselementer, nyhedsartikler osv.) efter TYPO3's mening blot er databaseelementer kan man bruge samme fremgangsmåde til at oprette frontend-brugere som til alle andre elementer. Så dette er altså en generel introduktion til oprettelsen af nye elementer!

Klar? Det er enkelt. Klik først på ikonet for den side hvor du gerne vil oprette et nyt element:

Vælg så "Website bruger"-elementet:

... og indtast informationerne. I dette tilfælde er brugernavn, adgangskode og gruppe de felter der skal udfyldes:

Gem brugeren. Hvis du klikker på sidetitlen for sysFolder'en "Users" skulle du få vist denne liste (forudsat at Liste-modulet er det backend-modul du har brugt sidst):

Gå til siden med login-formularen igen og tjek om det virker:

Opret login-formular

Vi har allerede en login-formular. Hvad nu hvis vi også gerne vil have en på forsiden? Er det et problem?

Nej, da TYPO3 som vi har set genererer sideindhold ud fra en række sideindholdselementer kan vi simpelthen indsætte en brugerlogin formular som et af indholdselementerne på forsiden! Spørgsmålet bliver snarere hvor vi skal placere den indimellem de andre elementer.

Nå, som sædvanligt: Side-modulet -> Klik "FC Bigfeet" -> "Nyt sideindhold"

"Brugerlogin formular":

Vælg position:

Navngiv den - gem den:

Hvis du sætter en sidereference ind i "Send til side"-feltet, vil login'et sende brugeren til denne side. Det bruges med den anden boks så brugeren dirigeres direkte til den adgangsbegrænsede del af webstedet. I dette tilfælde lader vi den være tom hvilket vil sende brugeren til siden selv ved login - altså til forsiden.

I frontend'en vil du se dette:

Som du kan er vi allerede logget ind - som "newuser". Du kan prøve at logge ud og logge ind og logge ud .... så længe du har lyst. Det skulle virke.

Opret adgangsbegrænset side

Nu har du:

  • Brugere og grupper på plads

  • En login formular på plads (læs Skabelon-kapitlet om "Constants" for nogle vigtige informationer om konfiguration af brugeropbevarings page-id'en i skabelonen)

  • Du mangler.... at begrænse adgangen!

Lad os begrænse adgangen til hele den sektion der hedder "Youth Section":

Vælg at der kun skal være adgang for medlemmerne af "Team"-gruppen:

Og gem siden. Sideikonet ændres. Prøv at holde musen hen over ikonet:

Se! Adgangen er begrænset til "Team"-gruppen. Prøv at logge ind og logge ud. Virker det? Det burde det.

Ups!

Prøv at logge ud og se på en af undersiderne til "Youth Section"-siden. Du vil opdage at de sider kan ses! Så det var altså kun "Youth Section"-siden der blev beskyttet? Det er korrekt - du mangler nemlig at sætte et ekstra "flueben" - "Omfat undersider".

Rediger sidehovedet og sæt fluebenet (i bunden af formularen):

Sideikonet ændres til en dobbeltpil - hvilket indikerer at nu beskyttes alle undersiderne faktisk også!

Tip: "Omfat undersider" påvirker ikke kun adgangsindstillingerne - det slår også igennem hvis en side er skjult eller har et Start- eller Stop-tidspunkt sat. Du kan altså også time eller skjule en hel sektion på den måde!

Adgangs-mulighederne

I bund og grund er adgangsbegrænsning så simpelt som det beskrevne - vælg en website brugergruppe og det er det. Derfra skal du blot håndtere hvilke brugere der er medlemmer af hvilke grupper.

Grupper..... åh ja, vi har jo kun en gruppe lige nu! "Team"-gruppen. Hvis du tilføjer flere grupper kan du have forskellige adgangsregler for forskellige brugere! Fx kan "john" være medlem af "Team" og have adgang til "Team"-sektionen. "irene" kunne være medlem af en ny gruppe som bruges til adgangsbegrænsning for "Youth"-sektionen og hun kunne få adgang dertil! "newuser" (som vi oprettede) kunne være medlem af begge grupper - og få adgang til begge sektioner! Hvorfor ikke prøve! Tag og leg med det.

Sluttelig betyder muligheden "Skjul ved login" at en side gøres skjult når en bruger logger ind! Det er nyttigt hvis du har sider der kun er relevante for brugere som ikke er logget ind endnu. Muligheden "Vis ved alle logins" er selvfølgelig det modsatte - det vil aktivere siden for enhver bruger der er logget ind. Så behøver man ikke være medlem af en bestemt gruppe - er du logget ind kan du se siden.