Thread.CurrentPrincipal in .NET-Konsolenanwendung

Hier ist eine einfache Konsolenanwendung, die ich ausführen in der Eingabeaufforderung:

using System;
using System.Threading;
namespace Test
{
    internal class Runner
    {
        [STAThread]
        static void Main(string[] args)
        {
            Console.WriteLine(Thread.CurrentPrincipal.GetType().Name);
            Console.WriteLine(Thread.CurrentPrincipal.Identity.Name);
        }
    }
}

Die Ausgabe ist "GenericPrincipal" und leerer string als Namen identity. Warum der run-time-Konstrukte GenericPrincipal statt WindowsPrincipal? Wie kann ich es erzwingen zu konstruieren WindowsPrincipal aus dem security-token von der Startvorgang (cmd.exe in meinem Fall)?

  • Was bekommen Sie, wenn Sie die Abfrage WindowsIdentity current = WindowsIdentity.GetCurrent(); ??
  • Es gibt meine aktuelle windows-Identität als ich erwarte. So ist es meine Verantwortung, zu konstruieren und zu befestigen, der AUFTRAGGEBER? Oder gibt es einen Weg zu geben Sie Sie in die Konfiguration-Datei, wie security-Einstellung in ASP.NET oder WCF-Anwendung?
InformationsquelleAutor UserControl | 2010-12-12
Schreibe einen Kommentar