Jeg har et COM objekt der kaldes fra en ASP side der læser NT
brugernavnet på dem der er logget ind på severen hvor Objektet er
installeret. Er det muligt at ændre Objektet en smule så den læser
brugernavnet på de klienter der indlæser ASP siden.
Det skal bruges i sammenhæng med et login script, der logger ind på et
website. Istedet for at brugeren indtaster brugernavn og adgangskode, så
går Objektet ind og kigger på klientens maskine for at læse brugernavnet
for denne.
Jeg er klar over at det nok vil blive et spørgsmål omkring rettigheder
og sikkerhed.. men kan det lade sig gøre:
Jeg har pastet min kode for det objekt der læser brugeren på vedkommende
der er logget ind på severen.
Module:
-----------------------------------------------
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Class:
-----------------------------------------------
Public Function gstrGetLoggedInUser() As String
Dim sBuff As String * 25
Dim lRet As Long
Dim sUserName As String
'Get the user name, remove NULLs, and trim trailing spaces.
lRet = GetUserName(sBuff, 25)
sUserName = Trim$(Left(sBuff, InStr(sBuff, Chr(CHAR_ZERO)) - 1))
'Return empty if no name is returned.
If sUserName = vbNullString Then
GetLoggedInUser = ""
End If
gstrGetLoggedInUser = sUserName
End Function
--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"