Consultor Eletrônico



Kbase 21144: SonicMQ: javax.jms.JMSSecurityException w/User Not in PUBLIC
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/30/2002
SUMMARY:

This Solution applies to SonicMQ Versions 2000.x, 3.x and 4.0. It explains one possible cause of a javax.jms.JMSSecurityException being thrown on a client's attempt to connect to the SonicMQ broker.

EXPLANATION:

By default, all users created on a security-enabled broker are members
of the group PUBLIC. If a user is removed from this group, attempts
to create a TopicConnection or a QueueConnection to the broker as that
user will fail, throwing an exception such as:

javax.jms.JMSSecurityException: Not authorized to publish on
$ISYS.admin.User1.$TMPAPPID$12$$CONNECTION$.subscribe
at java.lang.Throwable.<init>(Throwable.Java:96)
at java.lang.Exception.<init>(Exception.java:44)
at javax.jms.JMSException.<init>(JMSException.java:62)
at javax.jms.JMSSecurityException.<init>(JMSSecurityException.java:44)
at progress.message.jclient.Connection.<init>(Unknown Source)

SonicMQ Explorer will return the following error in the same situation:

Not authorized to publish on $ISYS.admin.User1.$ISYS-Admin1.startDelivery.

SOLUTION:

The group PUBLIC comprises all authenticated users which may connect
to a security-enabled broker. Users should not be removed from this
group. Any user who has been removed from this group should be added
back into it.


References to Written Documentation:

SonicMQ 2000.x Administration and Installation Guide:
Chapter 2, Administration Concepts, Security

SonicMQ 3.0 Administration and Installation Guide:
Chapter 2, Administration Concepts, Security

SonicMQ 3.5 Administration and Installation Guide:
Chapter 3, Administration Concepts, Security