| 
 | 
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Пытаюсь переехать на java, делаю нубский пет-проект. И что-то застопорился на, казалось бы, простом вопросе. Есть soap приложение на apache cxf, авторизацию делаю через заголовки в xml. Хочу прикрутить к этому делу спринговую секьюрити дабы юзать аннотации @RolesAllowed на методах. Но каменный цветок не выходит совершенно. Настройки эндпоинта: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Была попытка сделать это через колбэк, но там пароль не достать, да и не решает это проблемы. Валидатор: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Тут есть всё, чтобы руками разруливать права и т.д., но хочется заюзать всё-таки спринг и удобные аннотации из коробки. Конфигурация спринг секьюрити: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Добавление или удаление inMemoryAuthentication ничего не меняет, так что пропустил. Аннотации вида @RolesAllowed(Role.USER_ROLE) юзаю на методах класса обозначенного как @WebService. Если вместо permitAll поставить authenticated, то до валидатора даже не доходит, доступ рубит раньше. Я понимаю, что либо настроил что-то не так, либо надо действовать совершенно по другому. Но как-то не додумаюсь куда гуглить, может кто-нибудь хотя бы направление даст. А то гуглится всякая древняя фигня, которая уже не работает. Собственно вопрос - а как мне руками сделать аутентификацию в спринге через соап сообщение, чтобы работали аннотации? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2019, 21:56 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Kriptman, те, кто работали с soap - уже умерли. Не стоит тревожить их души. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2019, 23:15 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Kriptman, Под слоем SOAP поместите свой слой спринг типа rest. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 09:21 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Petro123, Какое-то странное решение. Оно, скорее всего, будет работать, но выглядит как костыль. Если бы нужно было решение любой ценой, то воспользовался бы, спасибо. Но хотелось бы сделать красиво. Как я понимаю, у меня проблема в очерёдности фильтров\проверок, но ведь должен быть способ это сконфигурировать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 11:38 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Kriptman, Не думаю что костыль. В шарпе soap это обертка http методов. То есть rest. Вы в soap меняете протокол одной галкой. IMHO. Чем штатная в соап аутентификация не устроила? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 11:42 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Petro123, Ну это просто ещё один слой в приложении. На каждый сервис. И каждый новый метод придётся добавлять ещё и там. И пробрасывать все параметры туда-сюда лишний раз. Или я неправильно понял мысль? Проблема не в проверке пользователя, с этим всё понятно и решено. Штатными апачевскими методами. Я и с политиками извращался, и с коллбекхендлером, в вопросе разобрался более-менее. И куда уж стандартнее, чем аутентификация прямо внутри запроса одним куском? Или я не заметил слона, который всё это делает из коробки? Проблема в том, что нужно передать эту аутентификацию, прошедшую через cxf, в спринг секьюрити, так чтобы работали аннотации этого самого секьюрити. Чтобы я мог пометить нужные методы нужными ролями (rolesallowed, secured или ещё как) и оно само вжух и полетело. Как это сделать руками вообще без спринга мне понятно. Как это сделать в чисто спринговом рест-приложении тоже понятно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 12:23 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Kriptman, Я так и не понял, что мешает БЕЗ спринга работать с ролями SOAP? Там нет работы с ролями? Не нашли? Лень? Не можете жить без спринга? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 12:43 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Kriptman, не читал, но может пригодится:  Integrating Spring Security with Apache CXF RESTful web service ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 12:55 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  KachalovKriptman, не читал, но может пригодится:  Integrating Spring Security with Apache CXF RESTful web service  Ошибся главой: Integrating Spring Security with Apache CXF SOAP based web service ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 12:57 | 
  
  
  
   | 
||
| 
 
Apache CXF + Spring Security 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  KachalovKachalovKriptman, не читал, но может пригодится:  Integrating Spring Security with Apache CXF RESTful web service  Ошибся главой: Integrating Spring Security with Apache CXF SOAP based web service - фиговую ссылку дал (почитал, там совсем не про то), вот может wss4j решит Вашу проблему ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2019, 13:15 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&fpage=30&tid=2121390]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    10ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    69ms | 
get topic data:  | 
    13ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    51ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 12ms | 
| total: | 179ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...