Ecco un'applicazione banale console che ho eseguito nel prompt dei comandi:Thread.CurrentPrincipal in .NET applicazione console
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);
}
}
}
L'uscita è 'GenericPrincipal' e stringa vuota come nome di identità. Perché il tempo di esecuzione costruisce GenericPrincipal
anziché WindowsPrincipal
? Come posso costringerlo a costruire WindowsPrincipal
dal token di sicurezza del processo di avvio (cmd.exe nel mio caso)?
Che cosa si ottiene quando si esegue una query 'corrente WindowsIdentity = WindowsIdentity.GetCurrent();' ?? –
Restituisce la mia identità Windows attuale come mi aspetto. Quindi è mia responsabilità costruire e legare il preside? O c'è un modo per specificarlo nel file di configurazione proprio come l'impostazione di sicurezza in ASP.NET o nell'applicazione WCF? – UserControl