Avatar billede speedpete Nybegynder
21. april 2006 - 12:19 Der er 13 kommentarer og
1 løsning

Password som udløber

Kan man forholdsvis let lave følgene facilitet (asp.net2.0/C#):

Man tildeler en bruger et password, og beder ham ændre det inden 14 dage. Gør han ikke det, virker passwordet ikke mere. Når han så HAR ændret sit password, så skal det blive ved med at gælde.
Avatar billede arne_v Ekspert
21. april 2006 - 12:57 #1
du kan vel teste:

WHERE un=X AND pw=Y AND (pwchg IS NOT NULL OR NOW()-usrcre < 14 days)

hvor pwchg er et felt med tid for sidste password ændring og usrcre er et felt
med tid for bruger oprettelse

ellers skal du nok over i noget med nogle schedulerede jobs
Avatar billede dr_chaos Nybegynder
21. april 2006 - 13:12 #2
Jeg er enig med arne. Det er noget der skal ske på database niveau.
Der findes ikke noget indbygget i asp.net 2.0 som kan klare det for dig.
Avatar billede speedpete Nybegynder
21. april 2006 - 13:42 #3
arne og dr: Ok, jeg går ikke direkte i databasen, men bruger den automatiserede MembershipProvider (som igen bruger SQL Server)... hvordan ser billedet så ud?
Avatar billede dr_chaos Nybegynder
21. april 2006 - 13:46 #4
på samme måde.
Bruge du en custom membershipprovider ?
Avatar billede speedpete Nybegynder
21. april 2006 - 14:40 #5
Næ, jeg bruger bare den der følger med, så jeg ved ikke lige, hvor jeg skal rode henne...
Avatar billede dr_chaos Nybegynder
21. april 2006 - 18:40 #6
Hvis du bruger den indbyggede membership provider skal du enten bygge en custom provider. Det kræver en del viden og meget tid.

Ellers skal du når en bruger får tildelt et password gemme brugerens brugernavn og datoen i en tabel og når brugeren ændre sit password sletter du posten fra databasen.
Til at kontrollerer om en bruger har ændret sit password kan du bruge den event der hedder onloggingin på din login control.
Avatar billede speedpete Nybegynder
22. april 2006 - 17:11 #7
Dr. Chaos,

jeg vil prøve at bruge din metode... den lyder overkommelig.
Avatar billede dr_chaos Nybegynder
22. april 2006 - 17:48 #8
svar :)
Avatar billede speedpete Nybegynder
22. april 2006 - 20:05 #9
Egentlig er der vel også hjælp at hente i følgende:

"The SqlMembershipProvider sets the CreationDate, LastLoginDate, LastActivityDate, and LastPasswordChangedDate date to the same date and time when a membership user is created by the CreateUser method."

Hvis nu man siger, at man ved onloggingin tjekker, om (LastPasswordChangedDate == CreationDate), og (CreationDate - DateTime.Now > 14 dage), så kan man vel herudfra udlede, at brugeren ikke har ændret sit password inden for 14 dage efter oprettelsen, og så nægte at logge ham ind. (Er der nogen logiske fejl i det ræsonnement?)
Avatar billede speedpete Nybegynder
22. april 2006 - 23:10 #10
... det var vist egentlig også det du mente, arne v?
Avatar billede arne_v Ekspert
22. april 2006 - 23:31 #11
det er samme logik ja
Avatar billede arne_v Ekspert
22. april 2006 - 23:32 #12
jeg antog are at LastPasswordChangedDate vare NULL ved create - her antages
den at være lig med CreationDate
Avatar billede dr_chaos Nybegynder
23. april 2006 - 07:43 #13
arne tror at det fair at vi deler:

http://www.eksperten.dk/spm/704622
Avatar billede speedpete Nybegynder
23. april 2006 - 09:26 #14
enig...
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