08. juni 2009 - 14:02Der 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.
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.
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
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)
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")
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)
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.