Meenemen inlognaam

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
ik heb een custom inlog systeem gemaakt waarbij het systeem gegevens uit een tabel haald om te achterhalen of iemand rechten heeft om bepaalde actie uit te voeren, of formulieren te zien, of niet.

In de tabel staan inlog naam, wachtwoord, bevoegdheid, vervaldatum passwoord, en een counter die het aantal inlog pogingen bijhoud.

Nou had ik eerst gewoon een standaard inlognaam maar ik heb dit veranderd naar het netwerk gebruikersnaam.
Je opent het formulier en de gebruikersnaam staat al ingevuld door =fOSUserName().
als het ingevulde passwoord dan klopt met de usernaam dan heb je toegang, werkt heel erg goed tot nu toe.
Nu wil ik dus de rechten om een bepaalde pagina te zien ook uit de fOSUserName() halen. Aangezien de applicatie weet welk netwerk usernaam er bezig is hoef ik alleen maar te definieren welke bevoegdheid die persoon heeft met Dlookup.
Het voordeel hiervan is dat als ooit de gebruiker veranderd, er niets in de code veranderd hoeft te worden, maar slechts een nieuw account met bijbehorende rechten gemaakt hoeft te worden., een voorbeeld :

Code:
If fldUserNameNaInloggen = "P000001" Then
    Me.knpPasswordManagement.Visible = True
    Me.knpPasswordManagementDummy.Visible = False
    Else
    Me.knpPasswordManagement.Visible = False
    Me.knpPasswordManagementDummy.Visible = True
End If
End Sub

Maar dit wil ik :

Code:
If DLookup("Bevoegdheid", "TBLinlogMenu", "Groep = '" & Me.[COLOR="yellowgreen"]FOSUsername[/COLOR].Value & "'") = "A" Then
    Me.knpPasswordManagement.Visible = True
    Me.knpPasswordManagementDummy.Visible = False
    Else
    Me.knpPasswordManagement.Visible = False
    Me.knpPasswordManagementDummy.Visible = True
End If
End Sub

Maar.... Dat werkt dus niet. iemand enig idee waarom niet ?
Ik heb het tijdelijk opgelost door de username op het formulier te zetten (Welkom USERNAME, u bent succesvol ingelogd) en zodoende te definieren wie de huidige gebruiker is. Maar de betere manier lijkt me dus door de rechten te halen uit de FOSUsername.

Wie het weet mag het zeggen ;)
 
Laatst bewerkt:
Dit: Me.FOSUsername.Value werkt alleen als je de FOSUsername van je formulier haalt. En dat is een beetje verwarrend voor mij, want is FOSUsername niet de gebruikersnaam bij inloggen? Die is altijd op te vragen met Environ("Username"). En dat kun je dus ook in je DLookup gebruiken.
Alternatief: maak in een module een Public variabele aan, en gebruik die om bij het in te loggen te vullen met de ingelogde naam. Een public variabele blijft actief tijdens de db sessie, en die kun je dus te allen tijde aanroepen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan