|
|
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Коллеги есть такая проблема, при посылке сообщения в JMS очередь и ловле его в MDB пропадают данные о Principal, при вызове метода getCallerPrincipal ловится эксепшен java.lang.IllegalStateException: No valid security context for the caller identity Может кто подскажет как правильно решить эту проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2012, 17:12:59 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Ну, проблема вполне логичная. Ведь обработка сообщения это другая транзакция и отдельный поток. Поэтому CallerPrincipal там отсутствует. Вроде можно назначит определенную роль с пермишеном, но это не будет связано с тем же principal, который поставил сообщение в очередь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2012, 17:24:26 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВроде можно назначит определенную роль с пермишеном, но это не будет связано с тем же principal, который поставил сообщение в очередь. Что вы имеете ввиду? Как такую проблему решать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 04:14:39 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, GregTk! > Что вы имеете ввиду? Как такую проблему решать правильно? Сформулируйте задачу. Вам надо при получении сообщения знать Principal отправителя? JMS этого, насколько мне известно, не поддерживает. Вам надо при получении работать от контекста какого-то пользователя? Если предопределённого- то я делал такую штуку, и даже здесь описывал. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 09:56:55 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Гуглите про "Run As" для MDB. Если это не то что вам нужно, то, боюсь придется помещать Caller Principal в тело сообщения, непосредственно при постановке в очередь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 10:06:15 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Нужно работать в контексте пользователя, который послал сообщение. Я так понимаю что поведение что у меня это нормально, но не ясно как выполнить код от имени другого пользователя не зная его пароля. Может в этом направлении есть решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 11:02:09 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Такая идея меня уже посещала, осталось решить вопрос с паролем. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 11:04:07 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 11:21:34 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 11:25:08 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, GregTk! > Такая идея меня уже посещала, осталось решить вопрос с паролем. :) Пишешь свой модуль авторизации, который при предопределённом шаблоне имени потока не проверяет пароль. Имя задаёшь при получении сообщения. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 11:33:43 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Модуль авторизации мне дан свыше... поэтому такой затуп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 12:35:16 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, GregTk! > Модуль авторизации мне дан свыше... поэтому такой затуп Если чёрного хода нет в JBoss (я не знаю такого) - тогда никак. А что значит "дан свыше"? -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 13:12:19 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
в onMessage кто мешает запустить код в doAs ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 14:41:47 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, eextrasens! > в onMessage кто мешает запустить код в doAs ? А это как? В гугле не удалось сформулировать вопрос... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:02:24 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
weblogic.security.Security.runAs(subject, action); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:12:29 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
LoginContext для JBOSS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:12:58 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, eextrasens! > LoginContext для JBOSS И где там doAs? -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:30:48 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
runAs не подойдет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:32:01 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
А понял о чем вопрос LoginContext положит subject в стек что будет эквивалентно weblogic-runAs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:33:53 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, eextrasens! > А понял о чем вопрос > > LoginContext положит subject в стек > что будет эквивалентно weblogic-runAs Всё одно не понял. Вот есть onMessage(Message message) и где так и как выполнять в жбоссе? -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:46:15 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
eextrasens, Я тоже не понимаю, как вы предлагаете сделать. Можете чуть по подробнее идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 15:55:37 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
onMessage(message) { LoginContext ctx=new LoginContext("user", new UsernamePasswordHandler(username, "")); ctx.login(); try { your code .... } finally { ctx.logout(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:05:02 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:06:54 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
import org.jboss.security.auth.callback.UsernamePasswordHandler; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:07:10 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
eextrasens, Такой фокус я знаю, а вот без пароля тоже самое как? Выполнить код от конкретного пользователя без указания его пароля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:21:48 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Сделайте отдельного юзера который будет иметь пустой пароль и вперед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:24:40 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
eextrasensСделайте отдельного юзера который будет иметь пустой пароль и вперед для одного юзера можно и run as настроить через дескрипторы развертывания. вопрос, кажется, не в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:32:29 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GregTkТакой фокус я знаю, а вот без пароля тоже самое как? Выполнить код от конкретного пользователя без указания его пароля. Конечная цель всё ещё не ясна. Почему нельзя по имени пробить пермишны? Или для какой вообще цели нужен principal? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:33:38 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, суть в том что есть задачи, которые может запускать пользователь, и в зависимости от прав пользователя нужно по разному обрабатывать эти задачи. Грубо говоря просто завести одного пользователя и от него проводить запуск не подходит, и ещё одна проблема которая у меня есть, это то что в рантайме я не могу адекватным способом получить пароль пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:45:55 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GregTkсуть в том что есть задачи, которые может запускать пользователь, и в зависимости от прав пользователя нужно по разному обрабатывать эти задачи. Берем права и помещаем в Message. Message гарантировано может создать только ваше приложение. Соответственно и права в нем гарантировано верные. Соответсвенно никто не мешает их анализировать, чтобы выбрать способ обработки сообщения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:49:11 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Так сейчас и сделал, хотел просто красоты реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 16:50:42 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, GregTk! > Так сейчас и сделал, хотел просто красоты реализации. Без своего логин-модуля не вижу как. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 17:06:23 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Вам надо передать по JMS subject и поместить его в stack Как это сделать надо гуглить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 17:48:58 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GregTk, Декомпильните JBOSS джарник и посмотрите где там лежит сабжект (скорее всего ThreadLocalStack) и посмотрите методы которые туда делают push ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 17:58:08 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, eextrasens! > Декомпильните JBOSS джарник и посмотрите где там лежит сабжект (скорее > всего ThreadLocalStack) > и посмотрите методы которые туда делают push Декомпилить не надо- он с открытым кодом. И в 6.1 уже прилично выложено всё, в отличии от... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 18:16:38 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
eextrasensВам надо передать по JMS subject и поместить его в stack Как это сделать надо гуглитья вроде ж часов 8 назад об этом написал ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 18:22:45 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Точно у вас JBOSS :) Я просто на веблоджике сижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 18:29:16 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
grasoff.net, Гут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 18:29:30 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
eextrasensЯ просто на веблоджике сижуи про вебложик писал )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 18:34:52 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
grasoff.net, Бинго ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2012, 18:41:43 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Принудительно авторизовацца можно так: Код: java 1. 2. Собственно на этом решении и остановился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2012, 14:58:18 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
Добрый день, GregTk! > SecurityAssociation.setPrincipal(new SimplePrincipal("serviceuser")); > SecurityAssociation.setCredential("serviceuserpass"); А пароль откуда? -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2012, 15:59:02 |
|
||
|
HornetQ + JBoss 6.1 + getCallerPrincipal
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Собственно я решил пойти по пути создание сервис пользователя с заведомо известным паролем, по крайней мере на данном этапе, но рано или поздно я найду способ как вызывать без пароля, думаю над тем чтоб через сообщение передать Principal и Credential Это решение конечно сильно изменило изначально поставленный вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2012, 17:03:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2131322]: |
0ms |
get settings: |
13ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
61ms |
get topic data: |
16ms |
get forum data: |
5ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 305ms |
| total: | 526ms |

| 0 / 0 |
