Estoy intentando crear programáticamente varios Message Queues
en un servidor Windows 2003x64/2008R2. Cuando se crea una cola, Windows aplica automáticamente los permisos predeterminados a la cola.Establecer permisos predeterminados al crear un nuevo Message Queue (MSMQ) en C#
Para MSMQ 4, los siguientes usuarios se añaden de forma predeterminada
- Todo el mundo
- creador de la cola
- Anónimo Login
Cuando establece los permisos para una cola utilizando MessageQueue.SetPermissions()
, el AccessControlList
especificado solo se agrega a los permisos de seguridad predeterminados.
¿Hay alguna manera de eliminar o sobreescribir los permisos predeterminados? En this MSDN Article en la parte inferior, se establece que
no se puede, sin embargo, personalizar los valores por defecto, ya que no son modificables.
Sé que la configuración de una cola se conserva en un archivo, ubicado en C:\Windows\System32\msmq\storage\lqs
. En este archivo, hay una propiedad de seguridad que representa los permisos para la cola. ¿Podría ser una opción editar esta clave? Hacer esto, sin embargo, me parece algo extraño.
Estoy buscando una forma adecuada de especificar mi propio AccessControlList
que sobrescribe los permisos de seguridad predeterminados de una cola. Ya sea cuando se está creando, o después.
Se agradece cualquier ayuda,
Thanks.
Pero como 'Deny's tienen prioridad, y que está' Todo el mundo Deny'ing este derecho, ¿no significa eso que nadie puede usar la cola? ¿'Revocar' sería una mejor opción? –
Revocar es mejor si funciona, pero usted escribió que no puede hacerlo. Funciona cuando lo intento. Inténtalo de nuevo con este código. –
Sí 'Revocar' funciona. Sin embargo, ¿cómo puedo revocar los permisos para el propietario/creador? Este nombre de usuario no es siempre el mismo. – Dominik