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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie zu sagen, Ihre app, was PrincipalPolicy zu verwenden. Fügen Sie
Ihr code so Aussehen:
Sehen http://msdn.microsoft.com/en-us/library/system.appdomain.setprincipalpolicy.aspx