hallo!
ich habe ein Problem mit folgendem Befehl: System.Security.Principal.WindowsIdentity.GetCurrent().Name
Laut meinen Kentnissen und diversen Posts in Foren sollte hier die Domain / User ausgegeben werden, der gerade angemeldet ist.
Bei mir wird folgendes ausgegeben:
NT-AUTORITÄT\NETZWERKDIENST
Meine Web.Config sieht so aus:
<authentication mode="Windows"/>
<authorization>
<allow users="?"/>
</authorization>
...
Ich freue mich über eure Hilfen.
Viele Grüße
Sebastian
hi,
bin zwar nicht so erfahren in asp, aber ich denke, dass er dir nicht den nutzer anzeigt sondern den dienstprozess...
guck dir mal das an...
oder schreib mal noch ein bißchen mehr was du machen willst.
MFG Veasel
NT-AUTORITÄT\NETZWERKDIENST ist ein vordefiniertes Konto. Unter diesem Konto wird Deine Web-Anwendung ausgeführt. Mit Principal.WindowsIdentity.GetCurrent() bekommst Du nicht die Identität des Clientbenutzers zurück, der Deine Webanwendung aufgerufen hat, sondern das Windows-Konto unter dem Deine Webanwendung ausgeführt wird.
Den Client-Benutzer bekommst Du über die System.Web.UI.Page.User-Eigenschaft (edit: Nur wen Impersonierung aktiviert ist!).
Wenn Du möchtest, dass Deine Webanwendung unter einem anderen Benutzerkonto als NT-AUTORITÄT\NETZWERKDIENST ausgeführt wird, musst Du das im Anwendungspool festlegen, dem Deine Anwendung zugeordnet ist (Ich gehe davon aus, dass Du IIS 6 verwendest).
danke für die schnelle antwort 👍
es geht um folgendes: wenn der benutzer die Seite besucht, wird sein username, mit dem er in Windows angemeldet ist, ausgelesen werden. der username wird gegen die DB geprüft.
also ich will einfach nur den benutzername auslesen, mit dem der Windows-user angemeldet ist.
ich habe in dem Pool auf Lokaler Diensts bzw. Lokales System gestellt und danach jeweils den IIS neu gestartet mit IISReses (cmd).
Danach habe ich mit folgendem Code versucht, den Username auszulesen:
IPrincipal myPrincipal = this.User;
Response.Write(Server.HtmlEncode(myPrincipal.Identity.Name));
Leider bekomme ich mit dem oben beschriebenen Weg nicht den username raus, mit dem der Benutzer bei Windows angemeldet ist.
Was kommt denn zurück, wenn du das benutzt?
Vielleicht hilft dir der Thread weiter. Klingt zumindest nach dem gleichen Problem.
Original von kInGpInGoLd
👍 👍 👍 👍 dake für den Link. Da steht die Lösung