Avatar billede mrjowns Novice
15. august 2001 - 11:19 Der er 28 kommentarer og
1 løsning

Logge domænet

Istedet for at få noget URL (xxxx/xxx/xxxx.asp) logget i variablen Side, vil jeg gerne have logget alt hvad der står foran backslash (minus backslash) i LOGON_USER. Er der en der kan lave koden om til dette?

\' Find Brugerens loginnavn (skal være på formen domæne/bruger)
    User = Request.Servervariables(\"LOGON_USER\")
    nBackSlachPOS = Instr(1, User, \"/\")
    if    nBackSlachPOS > 0 Then
        User = mid(User, nBackSlachPOS + 1)
        else
        nBackSlachPOS = Instr(1, User, \"\\\")
        if    nBackSlachPOS > 0 Then
            User = mid(User, nBackSlachPOS + 1)
        end if
    end if
   
    session(\"User\") = lcase(User)
    side = Request.Servervariables(\"PATH_INFO\")

    Rettigheder = 1

    Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
    Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
    \'Response.Write Sql
    Conn.Execute Sql
Avatar billede nute Nybegynder
15. august 2001 - 11:21 #1
\' Find Brugerens loginnavn (skal være på formen domæne/bruger)
    User = Request.Servervariables(\"LOGON_USER\")
    nBackSlachPOS = Instr(1, User, \"/\")
    if    nBackSlachPOS > 0 Then
        User = mid(User, nBackSlachPOS + 1)
        else
        nBackSlachPOS = Instr(1, User, \"\\\")
        if    nBackSlachPOS > 0 Then
            User = mid(User, nBackSlachPOS + 1)
        end if
    end if
   
    session(\"User\") = lcase(User)
    side = Request.Servervariables(\"REMOTE_ADDR\")

    Rettigheder = 1

    Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
    Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
    \'Response.Write Sql
    Conn.Execute Sql
Avatar billede bobbedude Nybegynder
15. august 2001 - 11:21 #2
lytter
Avatar billede mrjowns Novice
15. august 2001 - 11:26 #3
Nute > Det var en nem løsning, men det giver desværre ikke samme resultat! Jeg er nød til at have præcis det der står foran backslash\'et (domæne/bruger). Kan du ordne det?
Avatar billede nute Nybegynder
15. august 2001 - 11:31 #4
hmmm....den enkleste løsningen vil vel da være:

\' Find Brugerens loginnavn (skal være på formen domæne/bruger)
User = Request.Servervariables(\"LOGON_USER\")
tmpArr = SPLIT( User )
User = tmpArr(0)
Side = tmpArr(1)   

session(\"User\") = lcase(User)

Rettigheder = 1

Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
\'Response.Write Sql
Conn.Execute Sql

/nute
Avatar billede mrjowns Novice
15. august 2001 - 11:35 #5
Hmmm...?

Microsoft VBScript runtime (0x800A0009)
Subscript out of range: \'[number: 1]\'
Avatar billede nute Nybegynder
15. august 2001 - 11:38 #6
hov...prøv å bytt ut denne linje:

tmpArr = SPLIT( User )

med denne:

tmpArr = SPLIT( User, \"/\")

/ntue
Avatar billede mrjowns Novice
15. august 2001 - 11:41 #7
Noup - det hjælper ikke. Samme fejl...

Microsoft VBScript runtime (0x800A0009)
Subscript out of range: \'[number: 1]\'
Avatar billede nute Nybegynder
15. august 2001 - 11:42 #8
hva får du når du fyrer av

Request.Servervariables(\"LOGON_USER\")

?

/nute
Avatar billede mrjowns Novice
15. august 2001 - 11:45 #9
Jeg får noget som denne: xxx/jonas

...altså domæne/bruger!
Avatar billede nute Nybegynder
15. august 2001 - 11:48 #10
prøv så å kjør denne:

User = Request.Servervariables(\"LOGON_USER\")
tmpArr = SPLIT( User )
for i=0 to UBOUND(tmpArr)
  response.write tmpArr(i) & \"<br>\"
next

får du så ut:
xxx
jonas

Avatar billede mrjowns Novice
15. august 2001 - 11:51 #11
Jeg tror vi er ved at være der, dog...

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Field \'Session.Side\' cannot be a zero-length string.

Det hele ser nu sådan ud:

\' Find Brugerens loginnavn (skal være på formen domæne/bruger)
    User = Request.Servervariables(\"LOGON_USER\")

    tmpArr = SPLIT( User )
    for i=0 to UBOUND(tmpArr)
      response.write tmpArr(i) & \"<br>\"
    next   
   
    session(\"User\") = lcase(User)

\'    side = Request.Servervariables(\"REMOTE_ADDR\")

    Rettigheder = 1

    Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
    Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
    \'Response.Write Sql
    Conn.Execute Sql
Avatar billede mrjowns Novice
15. august 2001 - 11:52 #12
xxx/jonas

side = xxx
user = jonas
Avatar billede nute Nybegynder
15. august 2001 - 11:53 #13
det er fordi du ikke legger noen verdier inn i \'User\' og \'Side\'.

Bare for \'sjov\'...fyr dette av:

\' Find Brugerens loginnavn (skal være på formen domæne/bruger)
    User = Request.Servervariables(\"LOGON_USER\")

    tmpArr = SPLIT( User )
    for i=0 to UBOUND(tmpArr)
      response.write tmpArr(i) & \"<br>\"
    next   
User = \"jonas\"
Side = \"xxx\"
   
    session(\"User\") = lcase(User)

\'    side = Request.Servervariables(\"REMOTE_ADDR\")

    Rettigheder = 1

    Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
    Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
    \'Response.Write Sql
    Conn.Execute Sql

Du bør få resultatet:

xxx
jonas
Avatar billede mrjowns Novice
15. august 2001 - 11:55 #14
Ja, det er jeg godt klar over! Men kan du ikke lave det sådan, at værdierne bliver puttet ned i variablerne Side og User?
Avatar billede nute Nybegynder
15. august 2001 - 11:58 #15
hmmm....det skulle den ha gjort med min posting @ 15/08 2001 11:31:28  ...

prøv denne så:

\' Find Brugerens loginnavn (skal være på formen domæne/bruger)
User = Request.Servervariables(\"LOGON_USER\")
tmpArr = SPLIT( User, \"/\" )
User = tmpArr(0)
Side = tmpArr( UBOUND(tmpArr) )   

session(\"User\") = lcase(User)

Rettigheder = 1

Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
\'Response.Write Sql
Conn.Execute Sql

/nute
Avatar billede mrjowns Novice
15. august 2001 - 12:01 #16
Ok, ingen fejl denne gang, men logningen ser nu sådan ud:

Side = xxx/jonas
User = xxx/jonas
Avatar billede mrjowns Novice
15. august 2001 - 12:13 #17
Nute > Er du gået kold? :-)
Avatar billede nute Nybegynder
15. august 2001 - 12:29 #18
var til frokost...

hmmm....det var da merkelig ... Den bør jo splitte på \"/\"...kan du poste koden du kjører ?
Avatar billede mrjowns Novice
15. august 2001 - 12:32 #19
Koden:

    \'User = Request.Servervariables(\"LOGON_USER\")

    tmpArr = SPLIT( User, \"/\" )
    User = tmpArr(0)
    Side = tmpArr( UBOUND(tmpArr) )
   
    session(\"User\") = lcase(User)

\'    side = Request.Servervariables(\"REMOTE_ADDR\")

    Rettigheder = 1

    Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
    Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
    \'Response.Write Sql
    Conn.Execute Sql

Fejlen:

Microsoft VBScript runtime (0x800A0009)
Subscript out of range: \'[number: 0]\'
Avatar billede nute Nybegynder
15. august 2001 - 12:36 #20
denne linjen

\'User = Request.Servervariables(\"LOGON_USER\")

skal være

User = Request.Servervariables(\"LOGON_USER\")

/nute
Avatar billede mrjowns Novice
15. august 2001 - 12:38 #21
Ok, sorry! Men den splitter det stadig ikke! Den logger stadig:

User = xxx/jonas
Side = xxx/jonas
Avatar billede mrjowns Novice
15. august 2001 - 12:39 #22
Kan du evt. lave et svar på baggrund af denne:

http://www.eksperten.dk/spm/95650
Avatar billede mrjowns Novice
15. august 2001 - 12:41 #23
...for den splitter i hvert fald bruger fra domæne/bruger og sætter det ind i db\'en.
Avatar billede nute Nybegynder
15. august 2001 - 12:49 #24
det kan man da...men jeg synes det er merkelig at SPLIT funksjonen ikke kan finne ut av å gjøre dette for meg...

User = Request.Servervariables(\"LOGON_USER\")
nBackSlachPOS = Instr(1, LogonUser, \"/\")
if nBackSlachPOS > 0 Then
  Side = LEFT(User, nBackSlashPOS )
  User = MID(User, nBackSlachPOS + 1)
else
  nBackSlachPOS = Instr(1, LogonUser, \"\\\")
  if nBackSlachPOS > 0 Then
    Side = LEFT(User, nBackSlashPOS )
    User = MID(User, nBackSlachPOS + 1) 
  end if
end if

session(\"User\") = lcase(User)
    side = Request.Servervariables(\"REMOTE_ADDR\")

    Rettigheder = 1

    Sql = \"INSERT INTO Session (User, Rettigheder, Side)\"
    Sql = Sql & \"VALUES(\'\" & User & \"\',\'\" & Rettigheder & \"\',\'\" & Side & \"\')\"
    \'Response.Write Sql
    Conn.Execute Sql

/nute       
Avatar billede mrjowns Novice
15. august 2001 - 12:49 #25
He he...! Sorry, det var mig der fuckede up!!!

Der blev ikke logget:
xxx/jonas
men
xxx\\jonas

Jeg har rettet det, så nu virker det bare!!!! Sorry! ...men mange tak for hjælpen!

--jowns--
Avatar billede nute Nybegynder
15. august 2001 - 12:52 #26
hehe....så kan du saktens bruke

tmpArr = split( User, \"\\\" )
User = tmpArr(0)
Side = tmpArr(1)

:)
Avatar billede mrjowns Novice
15. august 2001 - 12:54 #27
Yeeep!!! :-)
Avatar billede mrjowns Novice
15. august 2001 - 13:32 #28
...men kan du hjælpe mig her:

http://www.eksperten.dk/spm/98776
Avatar billede nute Nybegynder
15. august 2001 - 13:33 #29
har gjort...
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