The problem is ARTEMIS-2607 which will be resolved in the 2.12.0 release.

Justin

[1] https://issues.apache.org/jira/browse/ARTEMIS-2607

On Wed, Apr 1, 2020 at 7:40 AM Stan Petrula <s.petr...@spedion.de> wrote:

> Hi Domenico,
>
> thank you for the suggestion, but unfortunately it does not work. I am
> using
> slightly modified interceptor code:
>
> public class MQTTLoginFilterInterceptor implements MQTTInterceptor {
>    @Override
>    public boolean intercept(final MqttMessage mqttMessage,
> RemotingConnection connection) {
>        System.out.println("MQTT intercept called");
>
>         if (mqttMessage instanceof MqttConnectMessage){
>             MqttConnectMessage connectMessage =
> (MqttConnectMessage)mqttMessage;
>
>             if (connectMessage.payload().userName() != null
>                 && connectMessage.payload().userName().compareTo("admin")
> ==
> 0){
>                     System.out.println("reject admin login");
>                     return false;
>             }
>             else{
>                 System.out.println("allow user login");
>             }
>         }
>
>       return true;
>    }
> }
>
> Log output on admin login:
> MQTT intercept called
> reject admin login
> MQTT intercept called
>
> Logs shows that we can catch admin login, but returning false from
> interceptor, after getting MqttConnectMessage, does not have any effect.
> With this interceptor I can login as admin, subscribe and do any action
> allowed. Do you have any idea?
>
>
>
>
> --
> Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>
>

Reply via email to