Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten artykuł dotyczy systemu Windows.
Aby uzyskać informacje o ASP.NET Core, zobacz ASP.NET Core Security.
Istnieją dwa sposoby tworzenia WindowsPrincipal obiektu, w zależności od tego, czy kod musi wielokrotnie wykonywać walidację opartą na rolach, czy musi wykonywać go tylko raz.
Jeśli kod musi wielokrotnie wykonywać walidację opartą na rolach, pierwsza z poniższych procedur generuje mniejsze obciążenie. Jeśli kod musi dokonać weryfikacji opartych na rolach tylko raz, można utworzyć WindowsPrincipal obiekt przy użyciu drugiej z poniższych procedur.
Aby utworzyć obiekt WindowsPrincipal na potrzeby powtarzanej walidacji
Wywołaj metodę SetPrincipalPolicy dla AppDomain obiektu zwróconego przez właściwość statyczną AppDomain.CurrentDomain , przekazując metodę PrincipalPolicy wartość wyliczenia, która wskazuje, jakie powinny być nowe zasady. Obsługiwane wartości to NoPrincipal, UnauthenticatedPrincipali WindowsPrincipal. Poniższy kod pokazuje to wywołanie metody.
AppDomain.CurrentDomain.SetPrincipalPolicy( PrincipalPolicy.WindowsPrincipal);AppDomain.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal)Po ustawieniu zasad użyj statycznej właściwości Thread.CurrentPrincipal, aby pobrać główną tożsamość reprezentującą bieżącego użytkownika systemu Windows. Ponieważ zwracany typ właściwości to IPrincipal, należy rzutować wynik na typ WindowsPrincipal. Poniższy kod inicjuje nowy obiekt WindowsPrincipal o wartości głównego podmiotu skojarzonego z bieżącym wątkiem.
WindowsPrincipal myPrincipal = (WindowsPrincipal) Thread.CurrentPrincipal;Dim myPrincipal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal)Po utworzeniu głównego obiektu można użyć jednej z kilku metod do jego zweryfikowania.
Aby utworzyć obiekt WindowsPrincipal dla pojedynczej weryfikacji
Zainicjuj nowy WindowsIdentity obiekt, wywołując metodę statyczną WindowsIdentity.GetCurrent , która wysyła zapytanie do bieżącego konta systemu Windows i umieszcza informacje o tym koncie w nowo utworzonym obiekcie tożsamości. Poniższy kod tworzy nowy WindowsIdentity obiekt i inicjuje go do bieżącego uwierzytelnionego użytkownika.
WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()Utwórz nowy WindowsPrincipal obiekt i przekaż mu wartość WindowsIdentity obiektu utworzonego w poprzednim kroku.
WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);Dim myPrincipal As New WindowsPrincipal(myIdentity)Po utworzeniu głównego obiektu można użyć jednej z kilku metod do jego zweryfikowania.