[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xmlblaster] Msg Filter Plugin on Disptch?
David R Robison wrote:
What I want is to write a plugin that will filter messages dispatched
by client ID. For example, when a message is published and delivered
to tow subscribing clients (Dan and Dave) the plugin would deliver the
message unchanged to Dan but modify the message (removing sensitive
information) when delivering it to Dave. Is this possible with
xmlBlaster 1.4?
The mime plugins can't change the message content as they reference the
original message 'meat'
and a change in the plugin affects all others as well:
http://www.xmlblaster.org/xmlBlaster/doc/requirements/mime.plugin.accessfilter.html
Note that the mime plugin is executed by the publisher thread during pushing
the message into the client specific callback queue.
You plugin must be behind the callback queue, only the security plugin is a
clone of the original (reference counted) message - so this is the place
to go:
See
http://www.xmlblaster.org/xmlBlaster/doc/requirements/security.development.serverPlugin.howto.html
which is a bit outdated.
The best place to look is into the htpasswd or the ldap plugin:
See
org.xmlBlaster.authentication.plugins.htpasswd.Session.java:exportMessage()
Here you can intercept the message, check it and manipulate it.
regards
Marcel
Another approach would be to modify the message as it forwarded
between nodes in a cluster. If the domain master is node A and there
are two slaves, B and C, then the plugin would pass the messaged
unchanged to node B but modify them when forwarding them to node C.
Privileged users would then connect to node B and unprivileged users
to node C. Are either approaches feasible? Any other suggestions?
You can achieve this by the above described authentication plugins or
by specific publish plugins
(http://www.xmlblaster.org/xmlBlaster/doc/requirements/mime.plugin.publishfilter.html)
regards
Marcel
David