/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Tjekke windows-login et niveau oppe
Fra : Jens Gyldenkærne Cla~


Dato : 08-06-05 13:03

Hej gruppe. På et site har jeg en administrationssektion der er
beskyttet af windows-login (NT Security). Selve login'et fungerer helt
fint - alle administrationssider kan kun ses med et gyldigt
windows-brugernavn.

Jeg vil imidlertid også gerne kunne udvide nogle af de almindelige sider
på sitet med ekstra funktioner til adminbrugerne. Derfor søger jeg en
måde at tjekke om der er logget ind i admin-sektionen. Hvis jeg tjekker
på Request.ServerVariables("REMOTE_USER") inde i admin-sektionen, får
jeg mit windowsbrugernavn ud - men tjekker jeg på en almindelig side
(efter at jeg er logget ind på admin-delen), er REMOTE_USER bare tom.

Indtil videre har jeg løst problemet ved at sætte en session-variabel på
startsiden i adminsektionen, men det er ikke en helt tilfredsstillende
løsning. Session-variablen forsvinder af naturlige årsager ved timeout -
mens admin-login'et ikke opnår timeout.

Kan jeg på nogen måde tjekke om jeg har logget ind som admin - eller er
det muligt at lave et windowsbaseret login på hovedsitet uden at gøre
det obligatorisk (de almindelige brugere skal selvfølgelig kunne bruge
sitet uden at logge ind).

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

 
 
Johnny Winther Ronne~ (08-06-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 08-06-05 21:01


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:193r0r7caavlp$.dlg@jcdmfdk.invalid...
> Hej gruppe. På et site har jeg en administrationssektion der er
> beskyttet af windows-login (NT Security). Selve login'et fungerer helt
> fint - alle administrationssider kan kun ses med et gyldigt
> windows-brugernavn.
>
> Jeg vil imidlertid også gerne kunne udvide nogle af de almindelige sider
> på sitet med ekstra funktioner til adminbrugerne. Derfor søger jeg en
> måde at tjekke om der er logget ind i admin-sektionen. Hvis jeg tjekker
> på Request.ServerVariables("REMOTE_USER") inde i admin-sektionen, får
> jeg mit windowsbrugernavn ud - men tjekker jeg på en almindelig side
> (efter at jeg er logget ind på admin-delen), er REMOTE_USER bare tom.
>
> Indtil videre har jeg løst problemet ved at sætte en session-variabel på
> startsiden i adminsektionen, men det er ikke en helt tilfredsstillende
> løsning. Session-variablen forsvinder af naturlige årsager ved timeout -
> mens admin-login'et ikke opnår timeout.
>
> Kan jeg på nogen måde tjekke om jeg har logget ind som admin - eller er
> det muligt at lave et windowsbaseret login på hovedsitet uden at gøre
> det obligatorisk (de almindelige brugere skal selvfølgelig kunne bruge
> sitet uden at logge ind).
>

Hvis du mener ved at give "superbrugere" adgang til et rette, slette og
oprette sider direkte på serveren er svaret at det ikke kan lad sig gøre
hvis vi er på NT. Det kræver administrator rettigheder at arbejde direkte på
serveren.

Hvis vi er på W2K eller højere er der en mulighed for at oprette nogle
brugere som administratorer og via AD at sætte begrænsinger på hvad de kan
få lov at pille i. Hvis det skal være på fil niveau skal filsystemet være
sat til NTFS, det behøver det normalt ikke at være på W2K, mens på W2K3 er
det et krav for at installere serveren med fuld funktionatilet. Spørg mig
ikke hvordan, jeg har kun leget med AD et par gange.

Du kan evt prøve dk.edb.system.ms-windows.server, men det kan være meget
svært at få et svar derinde og ISS har ingen interesse

Men det er formentlig det samme problem som på Exchange når man logger på
systemet "udefra" så bliver man også af ramt timeout problemet og en dobbelt
login. Hvilket vækker voldsom vrede hos de brugere der arbejder hjemmefra,
for de plejer at have deres mailprogram åbent hele tiden og de gider ikke
logge ind to gange ;-(

En mulighed kunne være at lave en automatisk reload der udløses før timeout,
det er iriterende ja, men en reload sætter sessionen tilbage til start.

Hvis du finder en anden løsning så fortæl det endeligt.

Med venlig hilsen
Johnny Winther Ronnenberg



Jens Gyldenkærne Cla~ (08-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-06-05 21:12

Johnny Winther Ronnenberg skrev:

> Hvis du mener ved at give "superbrugere" adgang til et rette,
> slette og oprette sider direkte på serveren

Nej - slet ikke.

Jeg har et administrationsafsnit hvor der ligger en række asp-sider
der kun må benyttes af folk der er logget ind som administrator.
Dette afsnit er beskyttet med windows-login (NTLM) via IIS (første
gang man beder om en side fra den mappe smækker browseren en
dialogboks op til login).

Det jeg savner er uden for administrationsafsnittet at kunne se om
jeg har logget ind som administrator. I det tilfælde vil jeg udvide
nogle af standardsiderne med lidt flere muligheder.

Selve siderne er ganske almindelige asp-sider - der er ikke noget
hokus pokus i forhold til de funktioner der skal lægges på.
Problemet er alene at vide *hvornår* funktionerne skal lægges på.


> Men det er formentlig det samme problem som på Exchange når
> man logger på systemet "udefra"

Outlook Web Access - som jeg går ud fra at du hentyder til -
anvender ikke NTML-login - i hvert fald ikke de udgaver jeg har
prøvet (til Exchange 5.5 og Exchange 2003).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Johnny Winther Ronne~ (09-06-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 09-06-05 23:26


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns966FE1CE6E848jcdmfdk@gyrosmod.cybercity.dk...
> Johnny Winther Ronnenberg skrev:
>
> > Hvis du mener ved at give "superbrugere" adgang til et rette,
> > slette og oprette sider direkte på serveren
>
> Nej - slet ikke.
>
> Jeg har et administrationsafsnit hvor der ligger en række asp-sider
> der kun må benyttes af folk der er logget ind som administrator.
> Dette afsnit er beskyttet med windows-login (NTLM) via IIS (første
> gang man beder om en side fra den mappe smækker browseren en
> dialogboks op til login).
>
> Det jeg savner er uden for administrationsafsnittet at kunne se om
> jeg har logget ind som administrator. I det tilfælde vil jeg udvide
> nogle af standardsiderne med lidt flere muligheder.
>
> Selve siderne er ganske almindelige asp-sider - der er ikke noget
> hokus pokus i forhold til de funktioner der skal lægges på.
> Problemet er alene at vide *hvornår* funktionerne skal lægges på.
>

Uden at vide det, det så tror jeg du selv har fundet nøglen REMOTE_USER Når
du logger dig på administrations delen så bliver du en "ny bruger" med
selvstændig session, men når du går til en side uden for admin delen, går du
tilbage til din normale status med egen session, selv med admin rettigheder
kan du ikke aflæse fra en session hvad status en anden har.

Men den inderste admin session (IIS) kan sætte en global variabel i "on
session start" og ændre den på "on session end". Som godt kan aflæses af den
ydre. Hvilket formentlig er det tætteste du kan komme på det. Men det er
noget snavs, for der er ingen afslutning af sessionen, hvis du forlader
admin delen og genstarter din egen maskine er admin sessionen stadig i live.
ISS og andre server addons ligger oven på selve serveren og bruger sine egen
identiteter der er uafhængige af den underliggende server.

Det her blev lidt rodet, men pointen er du er to forskellige personer
afhænging af hvor du befinder dig på et givet tidspunkt.

Med venlig hilsen
Johnny Winther Ronnenberg



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste