Ich schreibe eine Webanwendung, die die .NET Windows-Authentifizierung verwendet und sich auf die Gruppenmitgliedschaft eines Benutzers stützt, um ihn für verschiedene Bereiche der Website zu autorisieren. Im Moment bin ich auf einem Dev-Rechner, der NICHT Teil einer Domain ist und kein AD verwendet, stattdessen verwende ich nur lokale Benutzergruppen. Im Allgemeinen funktioniert dies so wie es ist.
Beim Testen der Anwendung muss ich jedoch Rollen in meinem Benutzerkonto hinzufügen und entfernen, um zu überprüfen, ob alles funktioniert. Wenn ich eine Rolle hinzufüge, scheint sich diese erst zu verbreiten, nachdem ich mich von Windows abgemeldet und erneut angemeldet habe.
Ist es möglich, eine Aktualisierung der Gruppenmitgliedschaft zu erzwingen, ohne sich abmelden zu müssen?
quelle
Antworten:
Dadurch wird der Explorer beendet und mit Ihrem Benutzerkonto erneut geöffnet. Sie werden zur Eingabe Ihres Kennworts aufgefordert. Dadurch erhalten Sie ein neues Token, wodurch Ihre Mitgliedschaft aktualisiert wird.
quelle
klist -lh 0 -li 0x3e7 purge
, für Benutzerklist purge
. NB: Ich habe diese Befehle nicht selbst ausprobiert. Wiederholen Sie einfach die Informationen aus dem verlinkten Artikel.Dies ist systemweit schwierig durchzuführen, jedoch bei einzelnen ausführbaren Dateien möglich, indem deren Prozess abgebrochen und unter den Anmeldeinformationen des Benutzers neu gestartet wird.
Wenn Sie sich anmelden, erhalten Sie unter anderem ein Token, das Ihre Gruppenmitgliedschaft widerspiegelt. Die einzige Möglichkeit, dieses Token zu aktualisieren, besteht darin, sich anzumelden.
quelle
runas
den Prozess jederzeit als einen anderen Benutzer als Ihren eigenen ausführen und die Gruppenzugehörigkeit dieses Testbenutzers ändern . Jedes Mal , wenn Sie schließen und starten Sie mit dem Prozessrunas
sollte eine neue Sitzung erstellen, die sollte die geänderte Gruppenmitgliedschaft widerspiegeln. Ich habe das noch nicht getestet, aber theoretisch sollte es so funktionieren.Ich hatte eine ähnliche Situation wie auf einer Website, die sich auf die Mitgliedschaft eines Benutzers in AD stützte, um die Anmeldung auf der Website zu ermöglichen. Sie sollten in Betracht ziehen, dass der Webserver die Authentifizierung / Abfrage an den AD-Server mit den angegebenen Anmeldeinformationen durchführt. Wenn der Webserver Zugriff auf AD hat und den Server nur danach fragt, ob sich der Benutzer in der Gruppe XYZ befindet, erhält er eine Liste direkt von AD und nicht vom Anmeldetoken des Benutzers, für den eine Anmeldung / Abmeldung erforderlich ist Token mit den richtigen Berechtigungen.
Ich weiß, dass Ihr Entwicklercomputer im Moment nicht über diesen Zugriff verfügt, aber es hat sich so angehört, als ob Sie diese Funktionalität benötigen, wenn Sie ihn bereitstellen.
Wenn Sie sich auf das Token verlassen, müssen Sie sich abmelden und wieder anmelden.
quelle
Es gibt eine Möglichkeit, dies vollständig über die Befehlszeile zu erledigen. Sie können klist verwenden .
quelle
Purging tickets destroys all tickets that you have cached, so use this attribute with caution. It might stop you from being able to authenticate to resources. If this happens, you will have to log off and log on again.
Does[Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396)
regrab die Tokens aber? oder wirft es einfach die existierenden weg und lässt dich mit nichts zurück? Wenn Sie keine Token haben, werden diese beim Neustart des Explorers (oder bei jedem Prozess, für den ein Token benötigt wird) automatisch erneut abgeglichen?Getan.
quelle