Warunek SzczegółyJaki jest najlepszy sposób uzyskania identyfikatora SID obecnego użytkownika?
- Praca w .NET 2.0.
- Kod znajduje się we wspólnej bibliotece, którą można wywołać z ASP.Net, Windows Forms lub aplikacji Konsola.
- Działa w domenie Windows w sieci firmowej.
Pytanie
Jaki jest najlepszy sposób, aby uzyskać SID bieżącego użytkownika? Nie mówię o tożsamości wykonującej aplikację, ale o użytkowniku, który uzyskuje dostęp do interfejsu. W aplikacjach działających w tle i aplikacjach na komputerach powinna to być tożsamość faktycznie wykonująca aplikację, ale w ASP.Net (bez impersionacji) powinien to być SID HttpContext.Current.User.
obecna metoda
To co mam teraz. To po prostu wydaje się ... złe. To jest paskudne. Czy istnieje lepszy sposób na to, lub niektóre wbudowane klasy, które robi to za Ciebie?
public static SecurityIdentifier SID
{
get
{
WindowsIdentity identity = null;
if (HttpContext.Current == null)
{
identity = WindowsIdentity.GetCurrent();
}
else
{
identity = HttpContext.Current.User.Identity as WindowsIdentity;
}
return identity.User;
}
}
Użytkownik zawsze będzie miał tożsamość (jeśli nie, to jest to znacznie większy problem). Dziękuję za odpowiedź. –