Formulier wachtwoord wijzigen

  • Onderwerp starter Onderwerp starter scw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

scw

Gebruiker
Lid geworden
5 jun 2009
Berichten
530
Goedemiddag,

In mijn DB maak ik gebruik van een wachtwoord voor toegang tot bepaalde formulieren.
Graag zou ik de mogelijkheid willen creeren in mijn DB om dit wachtwoord zo nu en dan te wijzigen.

Voordat ik het wiel opnieuw ga uitvinden:

Kan iemand mij al voorzien, doordat je bijvoorbeeld al zo een formulier in je DB hebt, in zo een dergelijk "wijzig wachtwoord"- formulier??

Dus ik stel me voor:

- Tekstvak 'Oud wachtwoord'
- Tekstvak 'Nieuwe wachtwoord'
- Tekstvak ''Nogmaals nieuwe wachtwoord'

Nou goed, ik zou er in ieder geval blij zijn met de code hiervoor. Ik denk dat het wachtwoord dan opgeslagen moet worden in een tabel??

Graag hoor ik van jullie!
 
Misschien heb je hier wat aan; het is een voorbeeld van AccessPower:
 

Bijlagen

bijna...

Hee Michel,

Bedankt voor het voorbeeldbestand, ik kon er enkele nuttige dingen van meepikken. Ik heb even m'n bestandje toegevoegd, om te laten zien hoe ver ik ben gekomen. Het formulier is in principe klaar, maar het doel is nog niet bereikt. Het nieuwe wachtwoord wordt nog niet opgeslagen in de onderliggende tabel. Ik weet niet precies hoe ik dat in code kan neerzetten, anders dan ik dat al gedaan heb... oftwel: ik zie niet precies wat ik nog verkeerd doe? mogelijk heb jij nog een suggestie??

Dank je wel,
scw
 

Bijlagen

.. en dan toch helemaal!

Je had een paar kleine zaken vergeten. Zoals: de check met het oude wachtwoord, en het opgeslagen wachtwoord doe je als eerste. Omdat die twee bij het opslaan nog gelijk zijn, gebeurt er niks. Je moet dus eerst Na het invullen van het controleveld het wachtwoord op het formulier bijwerken. Daarna kun je via de knop Opslaan controleren of het nieuwe wachtwoord correct is t.o.v. het oude wachtwoord.

Code:
    If Me.txtWachtwoordNieuw = Me.txtWachtwoordBevestig _
        And Me.txtWachtwoordNieuw <> Me.txtWachtwoord Then
        Me.txtWachtwoord.Value = Me.txtWachtwoordNieuw.Value
    Else
        MsgBox "Het wachtwoord mag niet hetzelfde zijn..."
        Me.txtWachtwoordNieuw = ""
        Me.txtWachtwoordBevestig = ""
        Me.txtWachtwoordNieuw.SetFocus
    End If

Bij de knop Opslaan heb ik een Update string gemaakt, die met Docmd.RunSQL wordt uitgevoerd.
E.e.a. werkt dus prima.
 

Bijlagen

Gevaarlijk lek!

Goedemorgen Michel,

Enorm bedankt voor je uitleg en hulp. Er kwam duidelijk nog meer bij kijken, dan dat ik al had... Vooral die strSQL vond ik handig, die kan ik op deze manier ook nog op een andere plek in m'n DB toepassen denk ik :thumb:

Alleen na uitgebreid testen, kwam ik achter een groot lek: :eek:

Je kunt elk willekeurige tekst neerzetten in txtWachtwoordOud, hij pakt hem altijd en veranderd het dan wel naar het nieuwe wachtwoord. Dat schort er dus nog aan... Maar vreemd genoeg staat het wel vermeld: If WachtwoordOud = txtWachtwoord... Else... het wachtwoord is incorrect.... Ik kan er niet achter komen waarom hij hem niet pakt???

Maar nogmaals superbedankt! Scw
 
Je kunt nog wel wat extra checks inbouwen, zoals: minimaal aantal tekens, of de aanwezigheid van minstens één cijfer, om het wachtwoord wat veiliger te maken. Nu is inderdaad elk wachtwoord dat afwijkt van het vorige al genoeg. Als je daar niet uitkomt, dan helpen we uiteraard weer verder!
 
Hoi Michel,

Maar in principe staat die 'procedure' er toch al in verwerkt:

"Else
MsgBox "Het wachtwoord is incorrect - het wachtwoord is niet gewijzigd", vbOKOnly, "Monitoring Tool"
Exit Sub"

Maar toch werkt die niet? Want ik krijg 'nooit' deze MsgBox?
 
Je moet ook nog een extra check inbouwen op het tekstveld WachtwoordOud: deze check moet controleren of het oude wachtwoord wel correct is ingevoerd. Iets als dit:

Code:
Private Sub txtWachtwoordOud_AfterUpdate()

    If Me.txtWachtwoordOud <> Me.txtWachtwoord Then
        MsgBox "Dit is niet het juiste wachtwoord..."
        Me.txtWachtwoordOud = ""
    End If
    Me.txtWachtwoordOud.SetFocus

End Sub
 
Bedankt!

Ja nu doet ie het inderdaad beter met die AfterUpdate erbij :) Het enige wat nu nog schort is dat als de WachtwoordNieuw en WachtwoordBevestig leeg blijven, er wordt aangegeven dat het wachtwoord niet hetzelfde mag zijn, terwijl de velden nog leeg zijn.

Ik heb geprobeerd om dat te verhelpen door dat "If empty ElseIf empty" stuk van de cmdSave erbij te zetten maar hij pakt dat stuk niet (terwijl het boven de code staat van 'hetzelfde zijn') en geeft nog steeds hetzelfde aan. Ik ga even verder sleutelen daarmee...

Ik doe hierbij de uiteindelijke versie hierbij nog even als bijlage, voor iedereen die hem kan gebruiken. Octafish.. bedankt!

scw
 

Bijlagen

... En het kan nog altijd beter ;)
In deze variant zit een betere controle op de ingevoerde data op het formulier. Om te beginnen heb ik het controlevak uitgezet, tot er een geldig wachtwoord is ingevuld in het tekstvak Nieuw wachtwoord. Ook de knop Opslaan is in beginsel uitgeschakeld. Na het invoeren van een correct controlewachtwoord, wordt de knop geactiveerd, en kun je opslaan.
De tweede check is nog iets belangrijker, want er is normaal gesproken geen controle op Hoofdletters en kleine letters, waardoor het wachtwoord niet hoofdlettergevoelig is. Dat is hij nu wel, door de ASCII-waarde van de twee wachtwoorden letter voor letter te vergelijken.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan