Avatar billede kennethv Nybegynder
08. juni 2009 - 14:02 Der er 17 kommentarer og
1 løsning

Fange username på klient

Hej.

Er der en venlig sjæl der kunne lave noget kode som henter brugernavn - I ved når man trykker CTRL-ALT-DELETE så kan man se hvem der er logget ind - sammenligner brugernavn med indhold i DB.

Jeg skal bruge det sådan at man ikke kan opdatere en db hvis man ikke er den person det er beregnet til.
Avatar billede erikjacobsen Ekspert
08. juni 2009 - 14:09 #1
Javascript i en browser har ikke mulighed for at se brugernavnet.
Avatar billede kennethv Nybegynder
08. juni 2009 - 14:20 #2
Hvad gør man så? Hvordan kan jeg så være sikker på at den person der opdatere en record nu osse er den person?
Avatar billede erikjacobsen Ekspert
08. juni 2009 - 14:35 #3
Det kommer vel an på din opsætning og krav iøvrigt.

Du kan bede ham logge ind på websitet.
Eller køre websitet i dit Windows-domæne med AD osv
Eller ...
Avatar billede kennethv Nybegynder
08. juni 2009 - 14:54 #4
Jeg har ikke de store krav. Website køre i windows-domæne med AD. Vil undgå at bruger logger ind.

Kan man fra browser får fat i Environment Variables?
Avatar billede erikjacobsen Ekspert
08. juni 2009 - 14:58 #5
Så kan du vel gøre det på serveren? Der er som udgangspunkt ingen sikkerhed med noget, der foregår i browseren.
Avatar billede kennethv Nybegynder
08. juni 2009 - 15:07 #6
Og hvordan gøres dette? Jeg kender ikke så meget til PHP.

Jeg havde en forestilling om at man f.eks. kunne bruge %USERNAME% og så slå op i SQLDB og se om bruger må rette i denne record.

Men hvad mener du med "Så kan du vel gøre det på serveren" ?
Avatar billede kennethv Nybegynder
08. juni 2009 - 15:36 #7
Lige for en god orden skyld. Så har jeg ikke behov for at finde password for brugeren. Har bare behov for at finde det navn der kommer frem ved at man trykker CTRL-ALT-DELETE. Der kan man se hvem der er logget på med navn. Det navn har jeg brug for.
Avatar billede erikjacobsen Ekspert
08. juni 2009 - 15:45 #8
Hvad jeg mener med "Så kan du vel gøre det på serveren" ?

Det der står ;)  Jeg ved ingenting om Windows servere, men jeg kan da se rundt omkring, at det må kunne lade sig gøre.
Avatar billede fennec Nybegynder
09. juni 2009 - 08:06 #9
Det kan lade sig gøre med ASP, IE og IIS. Dette er den eneste kombination jeg kender til:

1. IIS'en skal sættes op så den IKKE tillader anonym adgang (AD adgang)
2. IE skal sættes op så domænet ligger i "local intranet" zonen.
3. Brugernavnet kan så findes med Request.ServerVariables("LOGON_USER")

Forklaring til punkt 1 og 2:
Punkt 1 sikre at folk skal logge på domænet ellers bliver de logget på med anonym bruger, hvilket du ikke kan bruge til noget.
Punkt 2 får IE til at sende brugernavn/pass automatisk til serveren, så man ikke bliver præcenteret for en loginskærm
Avatar billede fennec Nybegynder
09. juni 2009 - 08:17 #10
Jeg synes at kan huske et eller andet man kan sætte op i FF's filer, også kan den også gøre det, men det er lang tid siden jeg fik en opgave på automatisk AD login, så jeg kan ikke huske hvad det var.

Så er FF et krav til din løsning, skal du være opmærksom på at den ikke fungere "out of the box". Eller rettere det gjorde den ikke dengang, men de kan have rettet koden så den nu kan (eller slet ikke kan)
Avatar billede erikjacobsen Ekspert
09. juni 2009 - 08:55 #11
Ellers kræver det blot at FF brugeren logger på en ekstra gang.
Avatar billede kennethv Nybegynder
09. juni 2009 - 10:05 #12
Men jeg vil jo bare bruge %USERNAME% er det ikke muligt?
Avatar billede kennethv Nybegynder
10. juni 2009 - 09:38 #13
Jeg forstår simpelthen ikke hvordan det kan være så besværligt at bruge system variabler i en hjemmeside.

Det må da kunne lad sig gøre uden at skulle sætte noget op i browseren. Vi bruger IE.
Avatar billede fennec Nybegynder
10. juni 2009 - 11:43 #14
Det er et KRAV at du skal tillade det i IE. Ellers ville en hvilken som helst hjemmeside kunne få fat i dine login oplysninger.

Derfor er fremgangsmåden PRÆCIS som jeg har beskrevet i min tidligere post (#9). Her har du en mere specifik gennemgang:

1. IIS'en skal sættes op så den IKKE tillader anonym adgang. I IIS højreklik på sitet og vælg egenskaber. Gå så til "Direcotery Security" faneblader. Tryk på "Edit" knappen under Authentication. Fjern afkrydsning i "Enable anonymous access". "Integrated Windows authentication" skulle gerne allerede være afkrydset. Hvis den ikke er så gør det da det er AD integrationen.
2. IE skal sættes op så domænet ligger i "local intranet" zonen. Gå i funktioner >> instillinger >> sikkerhed. Klik "lokal intranet" også "Websteder". Så "Advanceret" og tilføj domænet.
3. Brugernavnet kan så findes med Request.ServerVariables("LOGON_USER")
Avatar billede kennethv Nybegynder
10. juni 2009 - 11:59 #15
Nu er det bare det, at jeg ikke har installeret IIS, men Apache server.
Avatar billede fennec Nybegynder
10. juni 2009 - 12:43 #16
Du ude på dybt vand, så jeg håber du er god til Apache:
http://www.cyberciti.biz/tips/apache-httpd-active-directory-authentication.html

Ser ud som om du skal have LDAP modulet compilet ind i Apache.

Siden du bruger Apache er dit serverside sprog så også php? Hvis det er, er du ude på MEGET dybt vand. Og jeg tør slet ikke tænke på hvordan det så skal lade sig gøre...

Der er altså visse fordele ved et Windows setop (IIS, ASP og IE), hvor dette problem var klaret på 5 min. Du kan sikkert se frem til +50 timer.

Vil mene dette spørgsmål ikke længere høre til i denne kategori. Den høre under Apache (opsætning) og dit serverside sprog (udtrækning af oplysningerne)
Avatar billede kennethv Nybegynder
10. juni 2009 - 12:52 #17
Jo, tak det ved jeg. :)

Pyhh, jeg er ved at opgive. Tror jeg vil se om jeg kan konvertere php til ASP istedet. Vil det gøre det lidt lettere tror du?
Avatar billede kennethv Nybegynder
03. august 2009 - 09:15 #18
Dette er ikke mere aktuelt.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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