|
|
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Добрый день ! запутался в простой задачи : Хочу разнести авторизацию по урлам : есть набор ролей - это пользователи им ROLE_SELLER - им доступны 2 url .antMatchers("/message/**").hasRole("SELLER") .antMatchers("/report/**").hasRole("SELLER") обычная авторизация через стандартную форму спринг . авторизация будет через удаленный сервер . и пользователи admn и root им доступны два урла .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/support/**").hasRole("SUPPORT") на эти урлы будет бейски авторизация (чтобы видеть что я на них хочу ) ( пользователи будут в памяти ) вот пытаюсь написать конфиг с соответсвии сд окументацией : http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/#multiple-httpsecurity вот ВОПРОС : как и где расставить аннотации - 1) где должен быть аннотации @Configuration @ComponentScan({"ru.stoloto.s3.config"}) @EnableWebSecurity @EnableGlobalMethodSecurity(jsr250Enabled = true, prePostEnabled = true) 2) где вот это нужноо писать? @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { BCryptPasswordEncoder encoder = passwordEncoder(); auth.inMemoryAuthentication().passwordEncoder(encoder); auth.inMemoryAuthentication().withUser("root").password("root").roles("ADMIN", "USER", "SUPPORT"); } потом хочу заменить на LDAP - будет работать из локальной сети и только... вот код примера : файл для всей настройки (нужно ли указывать эти наннотациина ним или вынести в отдельный клааас ?) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. Как добавить авторизацию для админа ? и настроить ее на урлы .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/support/**").hasRole("SUPPORT") ? отбельным классом ,по аналогии с UserLoginWebSecurityConfigurerAdapter ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 11:29 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
http://stackoverflow.com/questions/25794680/multiple-authentication-mechanisms-in-a-single-app-using-java-config нашел только такое решение - через Код: java 1. 2. но это не то что мне нужно ... если я создаю два файла : один для пользователей : UserWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter второй для админа : TerminalWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter и указываю им порядок - через @Order(1) и @Order(0) - спользуется только один ... в не а не оба на разные url упрошу вопрос : Хочу чтобы url /admin - был по байсик авторизации /user - через форму и свой UserAuthenticationProvider ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 17:29 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
поясните в чем разница : когда я пищу в конфиге : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Зачем указывать : .antMatchers("/media/**").permitAll() если потом идет .ignoring() .antMatchers("/media/**") можно же оставить только : .ignoring() .antMatchers("/media/**") Ведь так? а во всех примерах указывается именно так как я описал : сначала permitAll - потом ignoring в чем логика??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 19:40 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1, отвечу сам себе - в общем виде задача не решается : нельзя в одном веб проекте иметь два конфига по секьюрности и два конфига по webconfig / - и как следствие два диспетчера сервлетов - и два аворизационных модуля ... можно лишь создать список провайлеров - которые будут последовательно вызываться ,с целью авороизации и привязки к сессии принципала - но сама сессия будет одна ... к ней лишь будут привязываться куки и новые заголовки в зависимости от типа авторизации вроде так ... решение в лоб - в наследоваться от implements AuthenticationProvider а в методе - public Authentication authenticate(Authentication authentication) throws AuthenticationException кастить к своему типу : authentication - > ? extends UsernamePasswordAuthenticationToken и уже по нему навешивать роли и права доступа к сессии и пользователю ... красивого решения нет (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 08:41 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1авторизация будет через удаленный сервер . это что значит? SSO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 10:03 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1авторизация будет через удаленный сервер . это что значит? SSO? самописная ернда - в которой в каждом запросе нужно передавать авторизационные данные - свой закрытый протокол на основе http в данном случае серверная часть spring - будет клиентом для внутреннего сервера . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 10:19 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1самописная может поэтому и мучился? Взял бы отработанные технологии. Ты наверно уже вырос из спринга. Он тут вообще не при чём. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 10:31 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1самописная может поэтому и мучился? Взял бы отработанные технологии. Ты наверно уже вырос из спринга. Он тут вообще не при чём. IMHO ну как не причем : Хочу такое : на одном сайте (один вар ) - чтобы были урлы как для пользователей , так и для админов - и при этом авторизация должна быть в разных системах ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 13:39 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1чтобы были урлы как для пользователей , так и для админов - и при этом авторизация должна быть в разных системах . дак ты делай как другие делают. Иначе мен ничего непонятно. - для админов есть админка - если админки нет, то это обычные пользователи с правами. - "авторизация в разных системах" мне непонятно. Чтобы дырок было больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 14:55 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1чтобы были урлы как для пользователей , так и для админов - и при этом авторизация должна быть в разных системах . дак ты делай как другие делают. Иначе мен ничего непонятно. - для админов есть админка - если админки нет, то это обычные пользователи с правами. - "авторизация в разных системах" мне непонятно. Чтобы дырок было больше? - пользователи авторизуются через внешний сервер - админу через локальную (свою ) базу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 16:59 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1- пользователи авторизуются через внешний сервер уже писал - это SSO (поиск) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 18:02 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123, почему то перестал отрабатывать UserAuthenticationProvider implements AuthenticationProvider https://github.com/isalnikov/SecurityProvider т.е. я как думал - написано что есть некий AuthenticationManager ( возможно его так нужно создать??? ) Хотя есть по умолчсанию AuthenticationManagerBuilder ??? видимо спринг создает его сам ... а в мне уже нужно делать регистрацию своих AuthenticationProvider (LDAP база итд ) если AuthenticationProvider .... для того нужна цепочка вида : в моем примере - UserAuthenticationProvider - регистрируется и игнорируется ... почему он не отрабатывает??? что не так ? цепочка поиска и проверки данных пользователя в AuthenticationManager через список AuthenticationProvider такая : для каждого AuthenticationProvider - есть свой - AuthorizationFilter - если он в методе @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { вернется null - то AuthenticationManager берет след из списка зарегестрированных AuthenticationProvider в моем примере - сначала должен провериться мой самописный провайдер - потом базовый ... но этого не происходит ???!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 16:59 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1, у меня счас проект SSO делаю так: Valve Tomcat public class SubdomainSessionValve extends ValveBase { - там подменяешь куки сессионные на любые что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:02 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
как я понял из документации и книги - авторизация должна работать и создавать свой implements UserDetailsService ненужно . тут есть пример ,похожий на мой ... http://stackoverflow.com/questions/25794680/multiple-authentication-mechanisms-in-a-single-app-using-java-config как описано тут http://it-ebooks.info/book/5195/ http://pixs.ru/showimage/Snimokekra_8947108_19709168.png][IMG] http://i10.pixs.ru/storage/1/6/8/Snimokekra_8947108_19709168.png [/IMG] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:09 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1, у меня счас проект SSO делаю так: Valve Tomcat public class SubdomainSessionValve extends ValveBase { - там подменяешь куки сессионные на любые что нужно. я разобраться хочу - что это за функционал который не работает ... ведь работало ... что где какую аннотацию нужно поставить то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:10 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1, ну, ты предпочитаешь спринг и конфигурировать. (п.п. 4) Configure spring security). Я предпочитаю программировать (как выше с Valve). Про спринг я пас. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:12 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1ведь работало ... у кого? Когда? Вроде все молчат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:13 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
т.е. идея такая я именю совй токен - UserAuthorizationToken в котором есть поле ssl - и свой UserAuthorizationFilter при авторизации я получаю заголовки и если в них нет нужного мне заголовка - значит запрос пришел не от моего пользователя и для его атворизации мне нужно отправить его на другой провайдер ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:14 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1, ну, ты предпочитаешь спринг и конфигурировать. (п.п. 4) Configure spring security). Я предпочитаю программировать (как выше с Valve). Про спринг я пас. Удачи! тьк а где пример глянуть ? Valve ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:15 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1Petro123Atum1, ну, ты предпочитаешь спринг и конфигурировать. (п.п. 4) Configure spring security). Я предпочитаю программировать (как выше с Valve). Про спринг я пас. Удачи! тьк а где пример глянуть ? Valve обещай отписаться, т.к. я делаю его http://m.habrahabr.ru/post/51266/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:20 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1ведь работало ... у кого? Когда? Вроде все молчат. тут http://stackoverflow.com/questions/25794680/multiple-authentication-mechanisms-in-a-single-app-using-java-config т тут описание http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/#core-services-authentication-manager ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:23 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1пропущено... тьк а где пример глянуть ? Valve обещай отписаться, т.к. я делаю его http://m.habrahabr.ru/post/51266/ Первый вопрос : Petro123Вы делаете проект на java под Tomcat. И решили организовать разделы своего сайта в виде поддоменов. К примеру, на сайте www.domen.xx сделать разделы: mail.domen.xx, user.domen.xx и т.п. В какой-то момент разработки вы с удивлением обанружите, что пользовательская сессия вопреки ожиданиям существует строго в рамках одного домена. То есть юзер авторизовавшись на главной странице (www.domen.xx), переходя почту (mail.domen.xx), теряет авторизацию. Дело в том, что сессия привязывается к клиенту через cookie с именем JSESSIONID и с пустым доменом. А когда домен не указан, браузер использует полный текущий домен. То есть сессия привязывается не к «domen.xx», а к «www.domen.xx». По неизвестной мне причине в Томкэте нет настроек позволяющих управлять этим поведением. Разве для этих целей не предназначен cas сервер авторизации ??? CasAuthenticationProvider ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:26 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:30 |
|
||
|
spring Multiple HttpSecurity javaconfig
|
|||
|---|---|---|---|
|
#18+
Atum1тут упс...я думал, у тебя работало) Atum1Разве для этих целей не предназначен cas сервер авторизации ??? CasAuthenticationProvider уже писал, кто что любит. Я так задолбался с этими конфигами на шибболе сервере...... Отлаживать же невозможно? Значение переменной не посмотреть. Всё в конфигах. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2015, 17:58 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39115998&tid=2124596]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 493ms |

| 0 / 0 |
