Avatar billede Slettet bruger
22. februar 2003 - 17:35 Der er 4 kommentarer og
2 løsninger

login funktion

Jeg har lavet en log-in funktion og den virker, men nu vil jeg have den til at hvis man er registreret som admin i databasen ser man hele siden man kommer ind på, men er man kun registreret som bruger, ser man kun halvdelen af siden.

Det skal nemlig være sådan at brugerne ikke har så mange muligheder som admin.

Jeg har sat den op til at den skal tjekke username, password og useraccess, men mangler at finde ud af hvad man skal skrive inde i koden for at noget af teksten bliver skjult.
Det drejer sig om følgende kode:

<p><a href="adminnyhed.cfm">Administrer Nyheder</a></p>
<p><a href="adminside.cfm">Administrer Sideindhold</a></p>

<p><a href="forum.cfm">Forum</a></p>
<p><a href="deltagere.cfm">Deltagere</a></p>
<p><a href="tilmeld.cfm">Tilmelding</a></p>
<p><a href="profil.cfm">Ret Profil</a></p>
<p><a href="<cfoutput>#CurrentPage#?MM_logout=1</cfoutput>">Log ud</a></p>

Hvis man er registreret som admin, skal man kunne se det hele, men er man kun bruger skal man altså ikke have adgang til de to første links.
Hvordan gøres det?

MVH
Spacemaninc.
Avatar billede bjornicle Nybegynder
22. februar 2003 - 17:41 #1
I dit login script kan du oprette en session variabel der hedder isAdmin, f.eks. session.isAdmin = true;
Saa kan du bare <cfif isdefined("session.isadmin")>
Avatar billede Slettet bruger
22. februar 2003 - 19:09 #2
Nu er jeg ikke den bedste til CF, kan du ikke forklare det lidt nærmere?
Avatar billede bjornicle Nybegynder
22. februar 2003 - 20:11 #3
I dit login script har du det der useraccess, ud fra det kan du se om det er en admin eller ej.
Hvis det er en admin gor du dette:

<cflock scope="session" timeout="2" type="exclusive">
  <cfset session.admin = true>
</cflock>

og i din side:

<cfif isdefined("session.isAdmin")>
<p><a href="adminnyhed.cfm">Administrer Nyheder</a></p>
<p><a href="adminside.cfm">Administrer Sideindhold</a></p>
</cfif>

<p><a href="forum.cfm">Forum</a></p>
<p><a href="deltagere.cfm">Deltagere</a></p>
<p><a href="tilmeld.cfm">Tilmelding</a></p>
<p><a href="profil.cfm">Ret Profil</a></p>
<p><a href="<cfoutput>#CurrentPage#?MM_logout=1</cfoutput>">Log ud</a></p>
Avatar billede Slettet bruger
22. februar 2003 - 20:32 #4
Jeg håber du kan finde rundt i dette, for det kan jeg ikke helt, nedenfor er min CF kode, hvor det du har skrevet skal indsættes.

<cfif IsDefined("URL.MM_logout") AND URL.MM_logout EQ "1">
  <cfset MM_logoutRedirectPage="admin.cfm?logud=true">
  <cfif MM_logoutRedirectPage EQ "">
    <cfset MM_logoutRedirectPage=CGI.SCRIPT_NAME>
  </cfif>
  <cfset MM_logoutQuery=ListDeleteAt(CGI.QUERY_STRING,ListContainsNoCase(CGI.QUERY_STRING,"MM_logout=","&"),"&")>
  <cfif MM_logoutQuery NEQ "">
    <cfif Find("?",MM_logoutRedirectPage) EQ 0>
      <cfset MM_logoutRedirectPage=MM_logoutRedirectPage & "?" & MM_logoutQuery>
      <cfelse>
      <cfset MM_logoutRedirectPage=MM_logoutRedirectPage & "&" & MM_logoutQuery>
    </cfif>
  </cfif>
  <cflocation url="#MM_logoutRedirectPage#" addtoken="no">
</cfif>
<cflock scope="Session" type="ReadOnly" timeout="30" throwontimeout="no">
  <cfset MM_Username=Iif(IsDefined("Session.MM_Username"),"Session.MM_Username",DE(""))>
  <cfset MM_UserAuthorization=Iif(IsDefined("Session.MM_UserAuthorization"),"Session.MM_UserAuthorization",DE(""))>
</cflock>
<cflock scope="Session" type="ReadOnly" timeout="30" throwontimeout="no">
  <cfset MM_Username=Iif(IsDefined("Session.MM_Username"),"Session.MM_Username",DE(""))>
  <cfset MM_UserAuthorization=Iif(IsDefined("Session.MM_UserAuthorization"),"Session.MM_UserAuthorization",DE(""))>
  <cfset session.Name = login.Name>
  <cfset session.User = login.UserAccess>
</cflock>

<cfquery name="login" datasource="x">
SELECT Name, UserName, UserPassword, UserAccess, Aktiv FROM tblUser
</cfquery>
<cfif MM_Username EQ "" OR MM_UserAuthorization EQ "" OR ListFind("Admin,Bruger",MM_UserAuthorization) EQ 0>
  <cfset MM_referer=CGI.SCRIPT_NAME>
  <cfif CGI.QUERY_STRING NEQ "">
    <cfset MM_referer=MM_referer & "?" & CGI.QUERY_STRING>
  </cfif>
  <cfset MM_failureURL="admin.cfm?accessdenied=" & URLEncodedFormat(MM_referer)>
  <cflocation url="#MM_failureURL#" addtoken="no">
</cfif>
Avatar billede bjornicle Nybegynder
22. februar 2003 - 20:46 #5
tjaa, jeg vil gaette paa at det skal vaere lige efter din cfquery, men det er godt nok en orgentlig bunke skod kode, jeg kan slet ikke finde rundt i den, desvaerre
Avatar billede Slettet bruger
20. juli 2003 - 14:37 #6
Ellers tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester