[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Permissions on temporary destinations (JBMESSAGING-994)
by sergeypk
"timfox" wrote : When you say "access" do you mean send messages to, or consume messages from?
I have only tried consuming, but I don't have any reason to believe that sending would be different. Using SecurityTest settings, for example, if I login as user guest, and call createTemporaryQueue, the queue has default permissions requiring role "def" to read/write to it (verified under a debugger). User guest doesn't have role "def".
"timfox" wrote : anonymous wrote : 2) Disallow creating temporary destinations that the logged-in user will not be able to use - doesn't solve the actual problem.
| |
|
| Which user are you referring to? The creator of the temp destination, or the consumer?
The creator.
"timfox" wrote : anonymous wrote :
| | 3) Have some configuration mechanism for temporary destination permissions - not sure where it would go, to make it sufficiently flexible.
| |
|
| Temp destination security could be overridden in the connection factory. That's where the other temp destination attributes are overridden.
But this means that different users will all use the same temp destination security? Is this ok? Shouldn't the temp destination permissions be configurable on a per-user basis?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055569#4055569
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4055569
18 years, 9 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Permissions on temporary destinations (JBMESSAGING-994)
by timfox
"sergeypk" wrote : Currently, temporary destinations are assigned the default security configuration when they are created. This means that if I log in as a user who has less permissions than required by the default security configuration, and create a temporary destination, I can't access it afterwards.
|
When you say "access" do you mean send messages to, or consume messages from?
anonymous wrote :
| Something should be done about it. Here are some options:
|
| 1) Skip permission checks on temporary destinations. Bad because there's a possibility of DoS attacks if someone guesses the temp destination name.
|
|
Not a good idea.
But the issue is not about guessing the temp destination name.
A valid use case would be sending messages to a topic with JMSReplyTo set, and only some users have rights to respond on the reply to destination.
In this case no guessing is necessary.
anonymous wrote :
| 2) Disallow creating temporary destinations that the logged-in user will not be able to use - doesn't solve the actual problem.
|
Which user are you referring to? The creator of the temp destination, or the consumer?
anonymous wrote :
| 3) Have some configuration mechanism for temporary destination permissions - not sure where it would go, to make it sufficiently flexible.
|
Temp destination security could be overridden in the connection factory. That's where the other temp destination attributes are overridden.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055562#4055562
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4055562
18 years, 9 months
[Design of JBoss Transaction Services] - org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction handli
by dimitris@jboss.org
| try
| {
| // Marked rollback
| if (tx.getStatus() == Status.STATUS_MARKED_ROLLBACK)
| {
| tx.rollback();
| }
| else
| {
| // Commit tx
| // This will happen if
| // a) everything goes well
| // b) app. exception was thrown
| tx.commit();
| }
|
In the case of an asynchronous rollback (timeout) the tx status is STATUS_ROLLEDBACK and so the commit causes:
| 12:35:09,391 ERROR [LogInterceptor] TransactionRolledbackException in method: pu
| blic abstract void org.jboss.test.tm.interfaces.TxTimeout.testOverriddenTimeoutE
| xpires() throws java.rmi.RemoteException, causedBy:
| java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transaction.arjuna
| core.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The
| transaction is not active!
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.c
| ommit(TransactionImple.java:223)
| at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCM
| T.java:502)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
|
Shouldn't the commit happen only is status is STATUS_ACTIVE ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055559#4055559
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4055559
18 years, 9 months