Я пишу веб-приложение, которое использует проверку подлинности Windows .NET и полагается на членство пользователя в группе для авторизации их в различных областях веб-сайта. Прямо сейчас я нахожусь на машине разработчика, которая НЕ является частью домена и не использует AD, вместо этого я просто использую локальные группы пользователей. В целом это работает нормально, как есть.
Однако, когда я тестирую приложение, мне нужно добавлять и удалять роли в моей учетной записи, чтобы убедиться, что все работает. Когда я добавляю роль, она не распространяется, пока я не выйду из Windows и не войду снова.
Можно ли принудительно обновить членство в группе без выхода из системы?
windows-7
groups
authorization
kingdango
источник
источник
Ответы:
Это уничтожит проводник, а затем снова откроет его с вашей учетной записью пользователя ... Он запросит у вас пароль и получит новый токен, тем самым обновив ваше членство.
источник
klist -lh 0 -li 0x3e7 purge
, для пользователяklist purge
. NB: я не пробовал эти команды сам; просто повторяя информацию из связанной статьи.Это трудно выполнить в масштабе всей системы, но это возможно с отдельными исполняемыми файлами, убивая их процесс и перезапуская их под учетными данными пользователя.
Когда вы входите в систему, вы получаете токен, отражающий, среди прочего, членство в вашей группе. Единственный способ обновить этот токен - войти в систему.
источник
runas
для запуска процесса от имени другого пользователя, а не от своего, и манипулировать членством в группе этого тестового пользователя. Каждый раз, когда вы закрываете и перезапускаете процесс, используяrunas
его, вы должны создавать новый сеанс, который должен отражать измененное членство в группе. Я не проверял это, но в теории это должно работать так.У меня была похожая ситуация с сайтом, который полагался на членство пользователя в AD, чтобы разрешить вход на сайт. Одна вещь, которую стоит рассмотреть, это сделать, чтобы веб-сервер выполнял аутентификацию / запрос к серверу AD с предоставленными им учетными данными; если веб-сервер имеет доступ к AD и просто запрашивает сервер о том, находится ли пользователь в группе XYZ, он получит список прямо из AD, а не с токена входа пользователя, которому для входа в систему требуется вход / выход из системы. токен с соответствующими привилегиями.
Я знаю, что ваш девайс прямо сейчас из описания не имеет такого доступа, но, похоже, вы имеете в виду, что когда вы его развертываете, вам нужна эта функциональность.
Если вы полагаетесь на токен, вам придется выйти и снова войти.
источник
Существует скриптовый способ сделать это полностью через командную строку; Вы можете использовать KList .
источник
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.
[Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396)
Перебирают ли токены хотя? или он просто выбрасывает существующие, оставляя вас ни с чем? Если у вас нет токенов, перезапускает ли проводник (или какой-либо процесс, которому нужен токен), автоматически перехватывает их?Выполнено.
источник