Ich versuche, den Benutzernamen und Client-Computername der Person, die an einem Computer in unserem Intranet in ASP.NET angemeldet ist, abzurufen. Dies ist nur für Protokollierungszwecke. Ich erhalte den Benutzernamen "System.Security.Principal.WindowsIdentity.GetCurrent(). Name", Problem ist, wer auf diese Website zugreifen mit dem gleichen Benutzernamen (das ist Server-Namen, wo ich meine Anwendung bereitgestellt habe) für alle. Bitte helfen Sie. Ich verwende den Windows-Authentifizierungsmodus in web.config.Retreving Client-Benutzername mithilfe von Windows-Authentifizierung
0
A
Antwort
2
Der Name des Benutzers haben werden können, wie durch @Mehrdad beschrieben. Für den Namen der Maschine des Benutzers können Sie verwenden Httprequest Objekt wie folgt:
if(Request.IsAuthenticated)
string userName = Request.LogonUserIdentity.Name;
string machineAddress = Request.UserHostAddress;
string machineName = Request.UserHostName;
(edit)
In der Datei web.config verwende ich diese Zeile:
<system.web>
<authentication mode="Windows"/>
</system.web>
In den default.aspx.cs verwende ich dies:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
if (Request.IsAuthenticated)
{
sb.AppendFormat("User Name: {0}<br/>", Request.LogonUserIdentity.Name);
}
else
{
sb.Append("Request not authenticated");
}
sb.AppendFormat("Machine Address: {0}<br/>", Request.UserHostAddress);
sb.AppendFormat("Machine Name: {0}<br/>", Request.UserHostName);
lblTest.Text = sb.ToString();
}
}
Th wird proucing folgende Ausgabe:
Benutzername: HPAS \ amantur
Maschine Adresse: 127.0.0.1
Machine Name: 127.0.0.1
1
Der Code, den Sie verwenden, erhält die WindowsIdentity
, die dem aktuellen Thread zugeordnet ist (die Identität, auf der ASP.NET ausgeführt wird). Es sei denn, Sie imitieren sich aufgrund der Identität des Client-Benutzers, die nicht funktioniert. Sie müssen diese verwenden:
HttpContext.Current.User.Identity.Name
Verwandte Themen
- 1. Textarea Inhalt vermasselt, nachdem sie von Datenbank retreving
- 2. Bereitstellen von Anwendungen mithilfe von Marathon mithilfe von GIT-Repository
- 3. Hibernate mithilfe von Anmerkungen oder mithilfe von Hibernate-Konfigurationsdateien
- 4. Umwandlung mithilfe von XSLT
- 5. Minimale Installation mithilfe von Bower
- 6. Entität mithilfe von EntityListener erstellen
- 7. Fehlende Ereignisse mithilfe von IServerEvents.NotifyChannel
- 8. Wie mithilfe von asp.net C#
- 9. Merge DataRows mithilfe von SQL
- 10. Pivot Listendaten mithilfe von LINQ
- 11. Verfügbarmachen von arrayähnlichen Datenstrukturen mithilfe von Eigenschaften
- 12. Bereitstellen von Datenbankprojekt (.dbproj) mithilfe von Powershell
- 13. Erkennung von Gesichtspunkten mithilfe von Dlib
- 14. Extrahieren von Feldern mithilfe von Splunk-Abfrage
- 15. Laden von Flexkomponenten mithilfe von XML
- 16. Anpassen von Antworttabellen mithilfe von Medienabfragen
- 17. Filtern von CSV-Daten mithilfe von C++
- 18. Entwerfen von WordPress-Designs mithilfe von Dreamweaver
- 19. Austauschen von Objekten mithilfe von Zeigern
- 20. Abrufen von Verzeichnissymbolen mithilfe von Tasks
- 21. So synchronisieren Sie Telefonkontakte in Google Mail mithilfe von Google-Kontakten mithilfe von Google-Kontakten api
- 22. Wie kann ich den Speicherort von 3D Studio Max mithilfe der Registrierung mithilfe von Python ermitteln?
- 23. Erweitern Sie die Navigationseigenschaft eines DTO mithilfe von AutoMapper (mithilfe von EF)
- 24. Laden von Latitude-Längengraddaten mithilfe der Google Maps-API mithilfe von CSV-Daten
- 25. Exec Console-Anwendung mithilfe von TSQL SP?
- 26. Deserialisierung der XML-Datei mithilfe von XmlArray?
- 27. Umbenennen eines Tabellenpräfixes mithilfe von Platzhaltern
- 28. externe Dateiquelle (Standort) mithilfe von JavaScript
- 29. CSV mit CustomHeaders mithilfe von ServiceStack.Text deserialisieren
- 30. Bedingte Validierung mithilfe von Szenarien in yii2
ich treid aber es doesn Es funktioniert nicht das gleiche Ergebnis, wenn etwas fehlt in IIS setting.thanks für die Hilfe. – Xyz
danke für die Hilfe.Ich habe versucht, diesen Code, aber es sagt "Anfrage nicht authentifiziert" ist ich vermisse etwas thing.y ich bekomme diese Nachricht.Klicken Sie Hilfe – Xyz
Got it !! Sie müssen den anonymen Zugriff auf die Webanwendung vom IIS-Manager aus deaktivieren. Wenn anon access aktiviert ist und Sie keine Benutzer-ID/Passwort eingeben müssen und Request.IsAuthenticated ist false, da es mit einem anonymen Profil arbeitet. – TheVillageIdiot