taskkill.exe /F /IM explorer.exe
runas /user:%USERDOMAIN%\%USERNAME% explorer.exe
Isso eliminará o explorador, reabrirá com sua conta de usuário ... Ele solicitará sua senha e você receberá um novo token, atualizando assim sua associação.
Estou escrevendo um aplicativo da Web que usa a Autenticação do Windows .NET e depende da associação do grupo de um usuário para autorizá-los em várias áreas do site. Agora estou em uma máquina de desenvolvimento que não faz parte de um domínio e não está usando o AD, em vez disso, estou apenas usando grupos de usuários locais. Em geral, isso está funcionando bem como é.
No entanto, ao testar o aplicativo, preciso adicionar e remover funções em minha conta de usuário para verificar se as coisas estão funcionando. Quando eu adiciono um papel, ele não parece se propagar até que eu saia do Windows e faça o login novamente.
É possível forçar uma atualização para a participação no grupo sem ter que fazer logoff?
taskkill.exe /F /IM explorer.exe
runas /user:%USERDOMAIN%\%USERNAME% explorer.exe
Isso eliminará o explorador, reabrirá com sua conta de usuário ... Ele solicitará sua senha e você receberá um novo token, atualizando assim sua associação.
Isso é difícil de executar em uma escala de todo o sistema, mas é possível com arquivos executáveis individuais, eliminando o processo e relançando-os sob as credenciais do usuário.
Quando você faz logon, recebe um token refletindo sua associação ao grupo, entre outras coisas. A única maneira de atualizar esse token é efetuar login.
Eu tive uma situação semelhante de um site que contava com a participação de um usuário no AD para permitir o login no site. Uma coisa a ser considerada é fazer com que o servidor da Web faça a autenticação / consulta no servidor do AD com suas credenciais fornecidas; se o servidor Web tiver acesso ao AD e apenas consultar o servidor para saber se o usuário está no grupo XYZ, ele obterá uma lista diretamente do AD, não do token de login do usuário, que exige logon / logoff para obter um novo token com privilégios adequados.
Eu sei que sua máquina de desenvolvimento agora, a partir da descrição, não tem esse acesso, mas parece que você quer dizer que, ao implementá-lo, precisa dessa funcionalidade.
Se você confiar no token, terá que fazer logoff e voltar.
Existe uma maneira de fazer isso completamente através da linha de comando; você pode usar o klist .
klist purge
Concluído.