Estoy escribiendo una aplicación web que utiliza la autenticación de Windows .NET y se basa en la membresía de un grupo de usuarios para autorizarlos en varias áreas del sitio web. En este momento estoy en una máquina de desarrollo que NO ES parte de un dominio y no está usando AD, en cambio solo estoy usando grupos de usuarios locales. En general, esto funciona bien como está.
Sin embargo, a medida que pruebo la aplicación, necesito agregar y eliminar roles en mi cuenta de usuario para verificar que las cosas funcionen. Cuando agrego un rol, no parece propagarse hasta que cierre sesión en Windows y vuelva a iniciar sesión.
¿Es posible forzar una actualización de la pertenencia al grupo sin tener que cerrar sesión?
windows-7
groups
authorization
Kingdango
fuente
fuente
Respuestas:
Esto matará al explorador, luego se volverá a abrir con su cuenta de usuario ... Le pedirá su contraseña y obtendrá un nuevo token, lo que actualizará su membresía.
fuente
klist -lh 0 -li 0x3e7 purge
, para el usuarioklist purge
. NB: no he probado esos comandos yo mismo; solo repite información del artículo vinculado.Esto es difícil de realizar a escala de todo el sistema, pero es posible con archivos ejecutables individuales eliminando su proceso y relanzándolos bajo las credenciales del usuario.
Cuando inicia sesión, recibe un token que refleja la pertenencia a su grupo, entre otras cosas. La única forma de actualizar este token es iniciar sesión.
fuente
runas
para ejecutar el proceso como un usuario diferente al suyo y manipular la pertenencia al grupo de ese usuario de prueba. Cada vez que cierre y vuelva a iniciar el procesorunas
, debe crear una nueva sesión, que debe reflejar la membresía del grupo modificada. No he probado esto, pero en teoría debería funcionar de esta manera.Tuve una situación similar en un sitio web que dependía de la membresía de un usuario en AD para permitir el inicio de sesión en el sitio web. Una cosa a considerar es hacer que el servidor web realice la autenticación / consulta al servidor AD con sus credenciales proporcionadas; si el servidor web tiene acceso a AD y solo pregunta al servidor si el usuario está en el grupo XYZ, obtendrá una lista directamente de AD, no del token de inicio de sesión del usuario que requiere inicio de sesión / cierre de sesión para obtener un nuevo token con los privilegios adecuados.
Sé que su máquina de desarrollo en este momento por la descripción no tiene ese acceso, pero sonaba como si quisiera decir que cuando la implementa necesita esta funcionalidad.
Si confía en el token, deberá cerrar sesión y volver a iniciarla.
fuente
Hay una forma programada de hacer esto completamente a través de la línea de comando; puedes usar klist .
fuente
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)
Sin embargo, ¿ vuelve a agarrar las fichas? ¿O simplemente tira a la basura los existentes y te deja sin nada? Si no tiene tokens, ¿relanzar el explorador (o cualquier proceso que necesite un token) los recupera automáticamente?Hecho.
fuente