Avatar billede agm Nybegynder
30. maj 2002 - 20:11 Der er 17 kommentarer og
1 løsning

UserID fra pc

Hvordan henter jeg den der er logget ind på pcen.
Så jeg feks. kan skrive: velkommen (Bruger)?
Avatar billede dk_akj Nybegynder
30. maj 2002 - 20:21 #1
Dette er et script jeg har brugt i VB til at finde brugernavnet.

//akj

Dim sBuffer As String
Dim iSize As Long

iSize = 255
sBuffer = String$(iSize + 1, 0)

If GetUserName(sBuffer, iSize) = 0 Then
  sBuffer = ""
Else
  sBuffer = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
End If



Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal _
lpBuffer As String, Nsize As Long) As Long
Avatar billede agm Nybegynder
30. maj 2002 - 20:44 #2
Hmmm får fejl...
Avatar billede tmceu Praktikant
30. maj 2002 - 20:45 #3
dk_akj >> nu er den funktion bare lige en smule svær at anvende i en ASP verden :-)

Du kan finde navnet i Request.ServerVariables("AUTH_USER") og LOGON_USER. Men begge kræver at du anvender Basic eller Windows authentication, altså at der logges på et Windows domæne/server.
Avatar billede tmceu Praktikant
30. maj 2002 - 20:46 #4
Med andre ord, hvis du eks. anvender et normalt webhotel som kører med Anonymous authentication, kan du godt glemme det.
Avatar billede agm Nybegynder
30. maj 2002 - 20:59 #5
?? kører den fra pws under win 2000.
Burde det ikke være ok?
Har sq ikke så meget forstand på det...:o)
Avatar billede tmceu Praktikant
30. maj 2002 - 21:04 #6
Du kan prøve at lave en lille ASP side med denne stump kode:

For Each Item In Request.ServerVariables
Response.Write "<B>" & Item & "</B>: " & Request.ServerVariables(Item) & "<BR>"
Next

Dette vil bla. vise alle de informationer om klienten du har til rådighed. Mit bud er, at hvis din maskine kører stand-alone, vil du ikke have information om brugeren.
Avatar billede agm Nybegynder
30. maj 2002 - 21:17 #7
Den skriver ikke noget ved LOGON_USER....
Avatar billede agm Nybegynder
30. maj 2002 - 21:20 #8
Men hvis vi bruger en windows server i firmaet burde dette så ikke virke??

Dim UserID
    UserID = Request.ServerVariables("LOGON_USER")
    If Len(UserID) = 0 then
    Response.Status = "401 Unauthorized"
    Session.Abandon
    Response.End
    End If
    Session("UserID") = UCase(Mid(UserID, InStr(UserID, "\")+1))
Avatar billede tmceu Praktikant
30. maj 2002 - 23:33 #9
Jo principielt. Det burde dog ikke være nødvendigt med det check på UserID. Hvis du konfigurerer dit site (og evt. underliggende virtual dirs) til Basic eller Windows (Challenge Response på NT4), vil den håndtere det for dig. Dvs. at ingen får lov at se din side, med mindre der er authenticated af serveren. Derfor laver du reelt et check på noget som din server i forvejen håndterer for dig.

Du skal være opmærksom på, at med basic authentication sendes password i klar tekst. D.v.s. at Request.ServerVariables("AUTH_PASSWORD") indeholder brugerens password.

Dette er en sikkerhedsrisko der bør overvejes nøje. Det vil eks. være lidt dumt at etablere webmail fra Internettet med basic authentication, med mindre man eks. kompenserer med SSL.
Avatar billede dk_akj Nybegynder
31. maj 2002 - 07:00 #10
tmceu -> Som jeg læser spørgsmålet ønsker agm at finde ud af hvem der er logget på klienten, dette kan jo,så vidt jeg ved, ikke afgøres på serveren.

Derfor mit svar hvor jeg gav et hint til hvordan det kunne laves i VB.

//akj
Avatar billede tmceu Praktikant
31. maj 2002 - 09:10 #11
dk_akj >> under de forudsætninger jeg forklarer, kan det sagtens lade sig gøre. Jeg bruger det i min ASP kode næsten hver dag.

Og så læg venligts mærke til min afsluttende smiley i min kommentar til dig, jeg fandt bare dit forslag en smule komisk i denne sammenhæng.
Avatar billede agm Nybegynder
31. maj 2002 - 09:12 #12
Hmm.. har I nogle forslag til hvordan jeg så kan hente brugerens navn bedst muligt? Tror I ikke der findes nogle eksempler man kan lure af?
Avatar billede tmceu Praktikant
31. maj 2002 - 09:17 #13
Ja, du kunne jo eks. lave en ActiveX component/script med dk_akj's eksempel, men så skal du være opmærksom på, at mange mennesker slår det fra i browseren så det er umiddelbart ikke en sikker metode.

Hvilken type brugere er der tale om ? totalt fremmede på et offentligt site, medarbejdere på et intranet eller ?
Avatar billede agm Nybegynder
31. maj 2002 - 09:19 #14
Medarb. på et intranet...
Kan være der er noget her....
http://www.eksperten.dk/spm/21982
Avatar billede dk_akj Nybegynder
31. maj 2002 - 09:23 #15
Hvis det er på intranet har du jo muligheden for at tilføje intranetet som en trusted zone, og configurere så der kan køres activex'er uden der spørges.

Jeg har et vbs script der kan tilføje sider til trustede zones.
Hvordan er expertens regler ift til at poste vbs'en her ??

//akj
Avatar billede agm Nybegynder
31. maj 2002 - 09:29 #16
El. send den...
agm@moe.dk
Avatar billede dk_akj Nybegynder
31. maj 2002 - 09:58 #17
Den kommer her på experten så er der andre der har glæde af det også :o)
Husk at brug af scriptet er på eget ansvar, det retter i registreringsdatabasen.

//akj

Dim key
Dim val
Dim main
Dim ret
Dim currentstate
Dim Shell
dim domain

domain="pc-akj"

Set Shell = CreateObject("WScript.Shell")

If Not KeyExists("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\"& domain &"\http") Then


        main = "HKEY_CURRENT_USER\"
       
        ret = MsgBox("Dette script retter diverse nøgler i registreringsdatabasen så portalen virker korrekt." & vbCrLf & "Klik OK for at køre scriptet" & vbCrLf & "Klik Cancel for at afbryde", vbOKCancel, "FV Portal")
        If ret = vbOK Then

                ' tilføj domænet
                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\"& domain &"\http"
                val = 0
                Shell.regwrite main & key, val, "REG_DWORD"

                ' tilføj "my computer"
                key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Flags"
                val = "MyComputer"
                Shell.regwrite main & skey, val

                ' ret indstillinger
                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1200"
                val = 0
                Shell.regwrite main & key, val, "REG_DWORD"
       
                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1201"
                val = 0
                Shell.regwrite main & key, val, "REG_DWORD"

                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1400"
                val = 0
                Shell.regwrite main & key, val, "REG_DWORD"

                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1402"
                val = 0
                Shell.regwrite main & key, val, "REG_DWORD"
               
                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1405"
                val = 0
                Shell.regwrite main & key, val, "REG_DWORD"

                key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1406"
                val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1407"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1601"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1604"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1605"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1606"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1607"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1800"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1802"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1803"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1804"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1805"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A00"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A02"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A03"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A04"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1C00"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1E05"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Description"
            val = "Your computer"
            Shell.regwrite main & key, val
           
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\DisplayName"
            val = "My Computer"
            Shell.regwrite main & key, val
           
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Icon"
            val = "explorer.exe#0100"
            Shell.regwrite main & key, val
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\MinLevel"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\RecommendedLevel"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
           
            main = "HKEY_LOCAL_MACHINE\"
           
           
            ' tilføj domænet
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\"& domain &"\http"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            ' tilføj "my computer"
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Flags"
            val = "MyComputer"
            Shell.regwrite main & key, val
           
            ' ret indstillinger
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1200"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1201"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1400"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1402"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1405"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1406"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1407"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1601"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1604"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1605"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1606"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1607"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1800"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1802"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1803"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1804"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1805"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A00"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A02"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A03"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1A04"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1C00"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1E05"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Description"
            val = "Your computer"
            Shell.regwrite main & key, val
           
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\DisplayName"
            val = "My Computer"
            Shell.regwrite main & key, val
           
            key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\Icon"
            val = "explorer.exe#0100"
            Shell.regwrite main & key, val
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\MinLevel"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
           
            key = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\RecommendedLevel"
            val = 0
            Shell.regwrite main & key, val, "REG_DWORD"
            MsgBox "Registreringsnøgler rettet"
    End If
End If

Function KeyExists(ByVal RegKey)
    Dim Shell
    Dim ErrDesc(1)
    Set Shell = CreateObject("WScript.Shell")
    KeyExists = True
    On Error Resume Next
'===>  RegKey = Replace(RegKey & "\","\\","\")
' without the above line of code, the presence or absence of the final "\"
' is what determines whether you are checking for a key or a named value.
' It's then the caller's responsibility to pass the string with a final "\" to
' check for a key, or without a final "\" to check for a named value...
'===
    Shell.RegRead (vbCr)
    ErrDesc(0) = Replace(Err.Description, vbCr, "")
    Err.Clear
    Shell.RegRead (RegKey)
    ErrDesc(1) = Replace(Err.Description, RegKey, "")
    If ErrDesc(0) = ErrDesc(1) Then KeyExists = False
End Function
Avatar billede dk_akj Nybegynder
31. maj 2002 - 10:09 #18
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