|
|
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Ситуация следующая, если пользователю предоставляются дополнительные роли(например, как новая запись в БД), то они не будут видны ему в текущей сессии. Как сбросить объект authorization/principal. Речь идет не о текущем пользователе, т.е. Код: java 1. не подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 13:01:44 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
как-то так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 14:18:08 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
chpasha, это для текущего пользователя! А мне надо, для другого. Например, я пользователь user1, а добавляю я новые роли пользователю user2. Так вот обновить роли надо у пользователя user2, а не у меня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 14:26:00 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Можно не "убивать" предыдущую авторизацию. Назначить текущей новые права и для AuthenticationProvider (это интерфейс, который наследуют все остальные - DaoAuthenticationProvider, RememberMeAuthenticationProvider) выполнить authenticate(). Ну и если используется rememberMe, то или вызвать метод rememberMeService onLoginSuccess(), или logout(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 14:29:45 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
IDVsbruckМожно не "убивать" предыдущую авторизацию. Назначить текущей новые права и для AuthenticationProvider (это интерфейс, который наследуют все остальные - DaoAuthenticationProvider, RememberMeAuthenticationProvider) выполнить authenticate(). Ну и если используется rememberMe, то или вызвать метод rememberMeService onLoginSuccess(), или logout(). Так как назначить новые права и т.д., для другого пользователя, зная к примеру его name? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 14:34:57 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
....ну и ничего страшного, если польз-ль перелогинивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:09:54 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Petro123....ну и ничего страшного, если польз-ль перелогинивается. Или удалить сессию с его идентификатором, но сути это не меняет. Как это сделать я пока не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:11:52 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
rdmPetro123....ну и ничего страшного, если польз-ль перелогинивается. Или удалить сессию с его идентификатором, но сути это не меняет. Как это сделать я пока не понимаю. в смысле? Как делают Провайдеры интернета например? - Ты изменил тарифлый план на повышенную скорость. Она изменится тогда когда ты перелогишься. Вернее IMHO в БД провели галочки, а обновление классов будет автоматом при перелогине. - Зачем нужно это в динамике и на горячую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:22:08 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Petro123rdmпропущено... Или удалить сессию с его идентификатором, но сути это не меняет. Как это сделать я пока не понимаю. в смысле? Как делают Провайдеры интернета например? - Ты изменил тарифлый план на повышенную скорость. Она изменится тогда когда ты перелогишься. Вернее IMHO в БД провели галочки, а обновление классов будет автоматом при перелогине. - Зачем нужно это в динамике и на горячую? Допустим, ты как администратор блокируешь пользователя. Он не будет заблокирован, пока не закроет браузер. Смысл тогда в чем? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:31:05 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
rdm, смысл в сабже. А сабж в дополнительной роли. Т.е. расширение полномочий USER2. Нужно ли тебе усложнять - я не в курсе. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:44:01 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
rdmДопустим, ты как администратор блокируешь пользователя. Он не будет заблокирован, пока не закроет браузер тогда пиши сервлет-фильтр и проверяй роли и прочее важное в каждом запросе. придется правда с кэшем помутить, если производительность начнет проседать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:44:22 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Есть решение с использованием SessionRegistry.getAllSessions(Object principal, boolean includeExpiredSessions) но придется передавать объект заглушку с хэшом, как у объекта principal user2. Насколько это безопасно только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 15:58:26 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
права USER2 могут одновременно править 2 админа USERA\B. Поэтому я бы не рисковал, а искал способ выгнать его из текущей сессии для таких дел. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 16:05:46 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Petro123права USER2 могут одновременно править 2 админа USERA\B. Поэтому я бы не рисковал, а искал способ выгнать его из текущей сессии для таких дел. IMHO SessionRegistry как раз и удалить его сессию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 16:11:52 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
rdmPetro123права USER2 могут одновременно править 2 админа USERA\B. Поэтому я бы не рисковал, а искал способ выгнать его из текущей сессии для таких дел. IMHO SessionRegistry как раз и удалить его сессию. http://barbitoff.blogspot.ru/2012/10/spring-security.html ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 16:15:38 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
Petro123, да, я этот способ рассматриваю) Мне смущает необходимость заходить заново) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 16:41:49 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
У меня работает и без фильтров Код: xml 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 16:51:28 |
|
||
|
Spring Security как программно сделать re-authorization?
|
|||
|---|---|---|---|
|
#18+
rdmМне смущает необходимость заходить заново) тогда удачи! Права и роли - это не игрушки с комфортным добавлением в рантайме) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2013, 16:55:19 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38288603&tid=2129210]: |
0ms |
get settings: |
25ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 420ms |
| total: | 586ms |

| 0 / 0 |
