Hi I did that for several users, and I think I blogged about that. Let me find it out.
Regards JB On Wed, Jun 25, 2025 at 4:16 PM Soosai Nayagam, Alban S. (TR Technology) <alban.soosainaya...@thomsonreuters.com.invalid> wrote: > > Hi All, > We are relatively new to ActiveMQ classic and are trying to implement role > based authentication and authorization using the default Jetty based web > console. > The following SimpleAuthenticationPlugin and authorizationPlugin have been > added to the activemq.xml config file: > > <plugins> > <!-- Simple Authentication Plugin --> > <simpleAuthenticationPlugin> > <users> > > <authenticationUser username="admin" password="admin123" > groups="admins"/> > <authenticationUser username="developer" > password="dev123" groups="developers"/> > <authenticationUser username="user" password="user123" > groups="users"/> > <authenticationUser username="readonly" > password="readonly123" groups="users,guests"/> > > </users> > </simpleAuthenticationPlugin> > > <authorizationPlugin> > <map> > <authorizationMap> > <authorizationEntries> > <!-- Admin Group - Full Access to Everything --> > <authorizationEntry admin="admins" read="admins" > write="admins" topic=">" /> > <authorizationEntry admin="admins" read="admins" > write="admins" queue=">" /> > <authorizationEntry admin="admins" read="admins" > write="admins" topic="ActiveMQ.Advisory.>" /> > > <!-- Developer Group - Development environment > access --> > <authorizationEntry read="developers" > write="developers" topic="DEV.>" /> > <authorizationEntry read="developers" > write="developers" queue="DEV.>" /> > <authorizationEntry read="developers" > write="developers" topic="TEST.>" /> > <authorizationEntry read="developers" > write="developers" queue="TEST.>" /> > > <!-- Public resources for all authenticated > users --> > <authorizationEntry > read="users,developers,managers,admins" topic="PUBLIC.>" /> > <authorizationEntry > read="users,developers,managers,admins" queue="PUBLIC.>" /> > </authorizationEntries> > </authorizationMap> > </map> > </authorizationPlugin> > </plugins> > > Also updated the jetty-realm.properties as below: > > # Admin users > admin: admin123, admins > # Developer users > developer: dev123, developers > tester: test123, developers > user: user123, users > > At jetty.xml, the following securityConstraints have been defined: > > <bean id="securityConstraint" > class="org.eclipse.jetty.util.security.Constraint"> > <property name="name" value="BASIC" /> > <property name="roles" value="users,admins" /> > <!-- set authenticate=false to disable login --> > <property name="authenticate" value="true" /> > </bean> > <bean id="adminSecurityConstraint" > class="org.eclipse.jetty.util.security.Constraint"> > <property name="name" value="BASIC" /> > <property name="roles" value="admins" /> > <!-- set authenticate=false to disable login --> > <property name="authenticate" value="true" /> > </bean> > <bean id="securityConstraintMapping" > class="org.eclipse.jetty.security.ConstraintMapping"> > <property name="constraint" ref="securityConstraint" /> > <property name="pathSpec" > value="/,/api/*,*.jsp,*.html,*.js,*.css,*.png,*.gif,*.ico" /> > </bean> > <bean id="adminSecurityConstraintMapping" > class="org.eclipse.jetty.security.ConstraintMapping"> > <property name="constraint" ref="adminSecurityConstraint" /> > <property name="pathSpec" value="*.action" /> > </bean> > > With this setup, the broker is only allowing the admin user to write to the > queues and topics through web console. Normal user is not able to write to > the queues and topics. > But when we change the above security constraints as below, it allows the > normal user to write to all the queues and topics without regard to the > authorization rules defined. > > <bean id="securityConstraintMapping" > class="org.eclipse.jetty.security.ConstraintMapping"> > <property name="constraint" ref="securityConstraint" /> > <property name="pathSpec" > value="/,/api/*,*.jsp,*.html,*.js,*.css,*.png,*.gif,*.ico, > /admin/sendMessage/" /> > </bean> > <bean id="adminSecurityConstraintMapping" > class="org.eclipse.jetty.security.ConstraintMapping"> > <property name="constraint" ref="adminSecurityConstraint" /> > <property name="pathSpec" value="*.action" /> > </bean> > > Can anyone please let me know how to achieve specific role based access > through the jetty web console? Is it the usual practive to use Jetty web > console for role based access or do we need to use other web consoles such as > hawtio or Tomcat for such use cases? > > > Thanks & Regards, > > · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · > · · · · · · · · > > Alban Soosai Nayagam > > Senior Middleware Engineer – MIDDLEWARE-TR > > Thomson Reuters > C 1-437-241-6539 > > Escalation<https://trten.sharepoint.com/sites/intr-ihn-service-portfolio/SitePages/IHN-Contact-%26-Escalation(1).aspx> > > > > This e-mail is for the sole use of the intended recipient and contains > information that may be privileged and/or confidential. If you are not an > intended recipient, please notify the sender by return e-mail and delete this > e-mail and any attachments. Certain required legal entity disclosures can be > accessed on our website: > https://www.thomsonreuters.com/en/resources/disclosures.html --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org For additional commands, e-mail: users-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact