2016-06-28 10 views
0

Я написал несколько веб-сервисов отдыха с помощью dropwizard. Затем я использовал dropwizard-shiro bundle для защиты своих ресурсов, о которых я рассказал в вопросе this. Я также использовал пользовательский интерфейс swagger для проверки моих ресурсов. Все отлично работало в пользовательском интерфейсе swagger. Я написал веб-приложение php, которое использует эти службы. В php-приложении есть страница входа в систему, которая вызывает мою службу входа. Вход в систему успешно, но при попытке доступа к некоторым другим ресурсам через приложение php он дает ошибку Unauthorized Access. Почему я получаю эту ошибку? Это из-за истечения срока действия созданного сеанса?Dropwizard-Shiro: несанкционированный доступ даже после входа в систему

ответ

0

У меня была такая же проблема: isAuthenticated() возвращает false после того, как я вошел в систему и попытался получить доступ к некоторым другим ресурсам jax-rs. В моем сценарии это клиент ReactJS с AXIOS, который выполняет запрос.

Как я установил его (это было Frontend, что был неправ): я видел, что я не делал XMLHttpRequest с AXIOS, потому что на ChromeConsole я мог видеть, что печенье не было отправлено CROSS-ORIGIN к серверу (HTTP-заголовок: Set-Cookie, печенье и так далее)

Тогда я сделал это с $ .ajax

xhrFields: { 
    withCredentials: true 
}, 

и все в порядке. Сиро вытаскивает Jsessionid из HTTP-only-cookie. И не было четкого сообщения об ошибке, почему он не работал. Надеюсь, я кое-что вам помогу :-)

 Смежные вопросы

  • Нет связанных вопросов^_^