webForumDet fria alternativet

Använda inloggningsnamn från Windows

.NET

7 svar · 321 visningar · startad av kallepocket

Medlem sedan sep. 200182 inlägg
Frågan#1

Är det någon som kan förklara lite hur jag gör för att använda mig av Windows Authentication för att ge tillgång till mina sidor. Jag vill alltså inte ha en separat inloggning utan använda det användarnamn som de loggat in i Windows med...

Jag har kollat runt massor i MSDN Library, men får det inte riktigt att fungera och är osäker på vilka klasser det är man ska använda och hur...

Tips, kodexempel, vad som helst som är en liten hjälp på vägen vore jag tacksam för!

Medlem sedan maj 20012 812 inlägg
#2

Det kan du bara få om du låter användare och webserver ligga med i samma domain. Och detta ställer du sedan in i IIS:en.

- magnus

Medlem sedan sep. 200182 inlägg
#3

Jo, så långt är jag med. Det är mer koden för att komma åt det som jag undrar över, hur ska den se ut?

Medlem sedan dec. 19991 072 inlägg
#4

Jag skrev nyligen en artikel om säkerhet för Webservices mot IIS. Där finns kodexempel på hur det görs därifrån. Kan kanske ge dig lite idéer! :)

http://www.swesecure.com/?ID=dc6ea60a-12ae-4e7e-9e9c-59489ccafa90&IID=9927ce3e-b1ca-4f7b-bb26-c22ed6822e89

Medlem sedan maj 20012 812 inlägg
#5

Du behöver inte skriva någon kod för detta. Du skriver i din web.config att man skall köra med Impersonated = true. Och i IIS Admin ställer du in att man inte kan logga in som Anonym samt att det skall vara 'Integraded Windows Authentication'. Om man sedan befinner sig i samma domän som webservern så kommer man loggas in automatiskt på din sida som det Windowskontot man har, och får alltså då de rättigheter som det windowskontot man är.

- Magnus

Medlem sedan sep. 200182 inlägg
#6

Hmm, det låter ju himla smidigt faktiskt... Fast hur gör jag om jag vill komma åt användarnamnet då? Om jag exempelvis vill använda det för att spara i DB när någon gör ett inlägg, eller för att skriva ut någonstans eller så? Finns det i ServerVariables("AUTH_USER") eller är jag helt ute och seglar då?

Medlem sedan apr. 20012 266 inlägg
#7
Context.User.Identity.Name
// eller
Environment.UserName // fungerar bara om Impersonated  = true
Medlem sedan sep. 200182 inlägg
#8

Tack allesammans, nu har jag mycket att leka med på måndag igen.. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)