Toon posts:

[ASP.NET] Windows username achterhalen

Pagina: 1
Acties:
  • 196 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi!

Voor ons bedrijf ben ik bezig met een nieuw intranet, bouwend in Delphi8 (for .NET) en Oracle.

Nu wil ik graag dat na het inloggen op de PC, de gebruikers niet nog eens hoeven in te loggen op het Intranet. Echter, ik kan de gebruikersnaam van windows niet achterhalen (of doe het verkeerd...) telkens kom ie weer met de anonymous account van IIS ;(

wie kan mijn verder helpen?
Gooooogle en andere zoekfuncties (msdn / bdn) hebben me nog niet veel verder geholpen!

Thnx in advance!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Ik vermoed dat het niet kan. Lijkt me vreemd als een computer de naam van z'n gebruiker meestuurt bij een connectie.

Als het wel kan is het een bug die gefixt moet worden :P

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 22:22
Verwijderd schreef op dinsdag 30 november 2004 @ 18:31:
Hoi!

Voor ons bedrijf ben ik bezig met een nieuw intranet, bouwend in Delphi8 (for .NET) en Oracle.

Nu wil ik graag dat na het inloggen op de PC, de gebruikers niet nog eens hoeven in te loggen op het Intranet. Echter, ik kan de gebruikersnaam van windows niet achterhalen (of doe het verkeerd...) telkens kom ie weer met de anonymous account van IIS ;(
Dan moet je anonymous logon uit- en windows(NTLM) authentication aanzetten.

Dan kun je de username uitlezen

Was advocaat maar vindt het juridische nog steeds leuk. Doet tegenwoordig iets in de metaal.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je kan idd met Intergrated windows authentication automatisch inloggen. Je moet dan wel anonymous login uitzetten in je IIS

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
StevenK schreef op dinsdag 30 november 2004 @ 18:48:
[...]

Dan moet je anonymous logon uit- en windows(NTLM) authentication aanzetten.

Dan kun je de username uitlezen
Is het dan niet zo dat de gebruiker alsnog zijn username/password moet invullen?
Het is namelijk een standalone webserver, met een 5 user-license, dus het liefst maak ik geen nieuwe users aan op de server....

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Verwijderd schreef op dinsdag 30 november 2004 @ 19:21:
[...]


Is het dan niet zo dat de gebruiker alsnog zijn username/password moet invullen?
Niet als je dit op de juiste wijze hebt geconfigureerd. Misschien dat je iets hebt aan het volgende artikel (gaat niet echt over jouw probleem, maar beantwoord wel je vragen): http://cyberforge.com/web...chive/2004/10/25/705.aspx
Het is namelijk een standalone webserver, met een 5 user-license, dus het liefst maak ik geen nieuwe users aan op de server....
Uh, hoe dat zit, weet ik niet. Is er een systeembeheerder-dude in de zaal? ;)

Today's subliminal thought is:


Verwijderd

Topicstarter
Annie schreef op dinsdag 30 november 2004 @ 20:57:
[...]

Niet als je dit op de juiste wijze hebt geconfigureerd. Misschien dat je iets hebt aan het volgende artikel (gaat niet echt over jouw probleem, maar beantwoord wel je vragen): http://cyberforge.com/web...chive/2004/10/25/705.aspx

[...]

Uh, hoe dat zit, weet ik niet. Is er een systeembeheerder-dude in de zaal? ;)
Thnx Annie, ga het morgenochtend op mn werk gelijk even doorlezen!!
Het vervelende is dat ik nu even aan het testen was op een machine met XP-pro, met IIS 5.1... morgen gelijk even de server (win2003) in de lucht schoppen ;)

  • Equator
  • Registratie: April 2001
  • Laatst online: 06:43

Equator

Crew Council

🦺#Rodekruis #whisky #barista

Uh, hoe dat zit, weet ik niet. Is er een systeembeheerder-dude in de zaal? ;)
Wanneer deze webserver lid is van het domain, en je geeft de domaingebruikers rechten op de website dan hoeven ze niet nog eens een username/wachtwoord in te vullen.
Echter, wanneer deze webserver (zoals jij meldt) een stand alone webserver is, zonder lid te zijn van een domain, dan kan jij je domaingebruikers geen rechten geven op de website, en zal je met lokale gebruikers moeten werken. Je kan er dan echter slechts 5 kwijt.
Daarnaast zal de SID van de domaingebruikers anders zijn dan de SID van de lokale gebruikers(ook al is de username gelijk) wat resulteerd in het feit dat de gebruikers dan nog een username en wachtwoord moeten invullen.

Ik zou, daar het een Intranet website betreft de webserver in het domain hangen.
Anonymous access uitvinken in IIS, en alle domain gebruikers TFS rechten geven op de website.
Dan is het vrij simpel om de gebruikersnaam uit te lezen.

Verwijderd

Topicstarter
CyberJ schreef op woensdag 01 december 2004 @ 07:06:
[...]

Echter, wanneer deze webserver (zoals jij meldt) een stand alone webserver is, zonder lid te zijn van een domain, dan kan jij je domaingebruikers geen rechten geven op de website, en zal je met lokale gebruikers moeten werken. Je kan er dan echter slechts 5 kwijt.
Hoi!
Ik ben gisteren niet erg duidelijk geweest vrees ik :) (rode wijn enzo :))
De server is lid van een werkgroep, we werken hier met een werkgroep ipv domein....

[ Voor 13% gewijzigd door Verwijderd op 01-12-2004 08:23 . Reden: domein/werkgroep typfout ! ]


  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 22:22
Verwijderd schreef op woensdag 01 december 2004 @ 07:41:
[...]


Hoi!
Ik ben gisteren niet erg duidelijk geweest vrees ik :) (rode wijn enzo :))
De server is lid van een werkgroep, we werken hier met een werkgroep ipv domein....
Dan kan hetgeen jij wil niet, of je moet via vbscript ofzo de lokale environment uitlezen, maar da's dan ook niet echt veilig...

Was advocaat maar vindt het juridische nog steeds leuk. Doet tegenwoordig iets in de metaal.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als je geen domein hebt is het ieder geval niet mogenlijk. Zonder domein bestaat een user namelijk alleen op de locale computer. Op het moment dat de gebruiker inlogt op de webserver ( Op wat voor manier dan ook ) dan betreft het een lokale gebruiker van de webserver. Alleen met een domain controller is het mogelijk om met dezelfde gebruiker ( Dus niet alleen dezelfde gebruikersnaam ) op meerder computers in te loggen. Mischien kan je iets doen met forms authentication waarbij je persistant cookies gebruikt. Dan hoeft er ieder geval maar 1 keer ingelogd te worden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
rwb schreef op woensdag 01 december 2004 @ 09:20:
Mischien kan je iets doen met forms authentication waarbij je persistant cookies gebruikt. Dan hoeft er ieder geval maar 1 keer ingelogd te worden.
Zoiets had ik vannacht in mijn slaap waarscchijnlijk ook al bedacht :)
aangezien we hier werken met Novell / ZEN Objecten, laten we een cookie met een user_id op de pc installeren op het moment van inloggen. De eerste pagina van ons intranet leest de cookie en vergelijkt die met de rest van de data in de DB.

Altijd leuk, zo'n kladblok naast je bed :+

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op woensdag 01 december 2004 @ 11:34:
[...]


Zoiets had ik vannacht in mijn slaap waarscchijnlijk ook al bedacht :)
aangezien we hier werken met Novell / ZEN Objecten, laten we een cookie met een user_id op de pc installeren op het moment van inloggen. De eerste pagina van ons intranet leest de cookie en vergelijkt die met de rest van de data in de DB.

Altijd leuk, zo'n kladblok naast je bed :+
Je weet wel dat je zo'n Coockie makkelijk kunt faken?

Je kan beter een unieke code ( GUID? ) in een cookie zetten en dan in een database deze koppelen aan een UserID.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • dotcode
  • Registratie: Augustus 2003
  • Laatst online: 17-05 21:04

dotcode

///\00/\\

Dit kan je zo doen:

code:
1
2
3
4
5
6
7
8
        using System.Security.Principal;
(....)
WindowsIdentity identity = this.Page.User.Identity as WindowsIdentity;
if (identity != null)
{
//doe je dingetje...
}
(...)

je moet wel in MapBeveiliging -> anonieme toegan -> bewerken -> het vinkje Geintegreede windows verificatie aan zetten.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
dotcode schreef op woensdag 01 december 2004 @ 15:15:
Dit kan je zo doen:

code:
1
2
3
4
5
6
7
8
        using System.Security.Principal;
(....)
WindowsIdentity identity = this.Page.User.Identity as WindowsIdentity;
if (identity != null)
{
//doe je dingetje...
}
(...)

je moet wel in MapBeveiliging -> anonieme toegan -> bewerken -> het vinkje Geintegreede windows verificatie aan zetten.
Maar je kunt dus alleen met locale gebruikers inloggen. En geintergreerde windows authentication werkt dus ook alleen met een Domain. Want in een werkgroep kan je nooit met een user van de ene machine op de ander inloggen omdat die simpelweg die user niet kent.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • sander_g
  • Registratie: Juli 2002
  • Laatst online: 19-05 10:03
Je kunt ook in Web.Config het volgende opnemen:

code:
1
2
3
4
5
6
7
8
<configuration>
    <system.web>
    <authentication mode="Windows" />
    <authorization>
    <deny users="?" /> <!-- Deny anonymous users -->
    <allow users="*" /> <!-- Allow all users -->
    </authorization>
....

Zo hoef je niet in IIS te duiken en kan je de default instellingen bij het creëren van een site of virtuele map gebruiken. Vervolgens kan je, als je de username in de webapplication wilt zien, gebruik maken van
HttpContext.Current.Identity.User.Name

De server staat op het intranet, maar is een standalone server? Dan moet ie op zijn minst wel lid zijn van het domein dat op het intranet gebruikt wordt.

Garmin Fēnix 7 Pro | https://www.strava.com/athletes/30783039

Pagina: 1