Ich habe eine ASP.NET-Anwendung, die sich in unserem Intranet befindet und die WindowsIdentity zur Identifizierung des Benutzers verwendet:
WindowsIdentity wi = HttpContext.Current.User.Identity as WindowsIdentity;
if (wi == null || wi.Name == null)
{
noAccess("No WindowsIdentity");
return;
}
string username = wi.Name;
if (username.Contains("\\"))
username = username.Substring(username.LastIndexOf("\\") + 1);
Dies funktioniert in unserem Intranet problemlos. Wenn jedoch Benutzer aus anderen Büros (separates Netzwerk, mit offener Firewall) kommen, erhalten sie ein Eingabefeld für die Passwortanforderung.
Warum erhalten sie den Passwortdialog?
Wie sollten die Nutzer der App identifiziert werden? Ich möchte kein Passwort verwenden, sondern Windows-Identitäten. Jeder, der versucht, auf die Anwendung zuzugreifen, befindet sich in einem vertrauenswürdigen Netzwerk.
Vielen Dank für jede Hilfe
EDIT: Die anderen Benutzer befinden sich in einem separaten Netzwerk, dessen Zugang durch Firewalls kontrolliert wird. IIS wird mit integrierter Windows-Authentifizierung ausgeführt.
Ryan