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